Main controller: ESP32S3 N8R8 (a module with PSRAM is recommended; otherwise, GIF playback may be impossible).
Screen: 1.28-inch 240*240 GC9A01 LCD.
Encoder: EC35 hollow encoder (an encoder kit with a matching knob housing is recommended).
Hub: SL2.1A, used to connect the USB ports of the ES32S3 and CH340C, and also to power the CH340C.
LDO: ME6214C33M5G (maximum power supply current of 300mA may not support WiFi; replacing it with AP2112K33TRG will slightly increase power consumption, but can provide a maximum current of 600mA; both are pin-2-pin).
Charging: LR4054-T (TP4054 can also be used as a substitute; it is a pin-2-pin).
Battery: 900mAh soft-pack battery, 28*30mm in size and 9mm thick.
Standby: With WiFi disabled, BLE enabled, and CPU frequency at 240MHz, the ESP32S3 can operate continuously for 8 hours. Entering DeepSleep + GPIO wake-up mode results in a 10% power consumption per month, and theoretically, it can last for over 6 months on a full charge.
Development Environment: IDF4.4. Test code will be attached after being organized.
Replica Discussion: Group 531774127. Please specify the project you are replicating in your group nickname after joining.
Attachment Description:
1. lvgl_1_28_base(idf4.4).zip: Source code based on VSCode + IDF4.4. After decompression, follow the instructions in the main() function within the source code. The program includes the BLE HID and USB HID functions implemented in the video; both BLE and USB functions are enabled by default.
2. Shell STL file.zip: 3D printing file for the shell, which can be directly printed using 3D Monkey.
3. Gerber_PCB_Color Screen Knob-Screen Base Plate-12P.zip: Screen base plate. It connects to the ESP32S3 control board via a 12-pin 0.5mm pitch FPC cable.
Demo functions:
After 60 seconds of inactivity, it enters sleep mode; pressing the screen wakes it up.
After waking, the battery percentage is displayed at the bottom edge of the screen. Bluetooth can also search for ESP BLE_HID2 devices.
Pressing and holding the screen for 2 seconds and then rotating the knob switches between GIFs; pressing and holding again exits the GIF selection.
Rotating the knob: adjusts the volume; pressing + rotating the knob: skip to the previous/next track; double-click: mute; single-click: pause.
Modification notes:
2024/6/17: Fixed the issue of the LED indicator not lighting up in the LR4054-T charging circuit (the schematic diagram on the first page of the PDF datasheet provided by LCSC for LR4054-T, part number C5336483, is incorrect). The CHRG pin of the LR4054-T should be connected to the cathode of the LED pin, and the LED anode should be connected to the VBUS pin of the Type-C port.