- Display Module: JC2432W328C ESP32 Display Module
- 2.4" TFT Display (320x240)
- Capacitive Touch
- ESP32-WROOM-32
- USB-C Connection
- JST Battery Port
- Maker Store CYD Display
- Battery: 3.7V Li-Po Battery Pack
- Connected via JST-PH 2.0mm connector
- Built-in charging circuit via USB-C
- Charge LED indicator
- Protection circuit included
- Maker Store 3.7V LiPo Battery
- Visual Studio Code
- PlatformIO IDE Extension
- EEZ Studio for UI development
lib_deps =
lvgl/lvgl@^9.0.0
bodmer/TFT_eSPI@^2.5.42
https://github.com/PaulStoffregen/XPT2046_Touchscreen.git
project/
├── src/
│ ├── main.cpp # Main program logic
│ ├── wireless/
│ │ ├── esp_now.cpp # ESP-NOW implementation
│ │ └── esp_now.h
│ ├── ui/ # EEZ Studio UI files
│ │ ├── ui.h
│ │ ├── ui.c
│ │ ├── ui_events.cpp
│ │ └── ui_events.h
│ └── config/ # Configuration files
│ ├── pins.h # Pin definitions
│ └── battery.h # Battery monitoring config
├── eez/ # EEZ Studio project files
├── platformio.ini
└── README.md
- Clone the repository:
git clone https://github.com/yourusername/esp32-wireless-controller.git
cd esp32-wireless-controller-
Copy template files:
- Copy
lv_conf.hto.pio/libdeps/cyd/lv_conf.h - Copy
User_Setup.hto.pio/libdeps/cyd/TFT_eSPI
- Copy
-
Build and upload:
pio run --target upload- Power on via USB-C
- Wait for initialization
- Calibrate touch if needed
- Select control mode
- Begin controlling RC car or whatever else
- Dual joystick mode
- Single joystick with buttons
- Custom configurations available
- Verify template files are correctly placed
- Check TFT_eSPI configuration
- Verify pin connections
- Check ESP-NOW configuration
- Verify MAC addresses match
- Check for interference sources
- CYD Documentation
- LVGL Documentation
- ESP-NOW Guide
- 3D Printable Case
This project is licensed under the MIT License - see the LICENSE file for details.