
Project Name: 【The Type You Want】ESP32S3 Fully Functional Development Board
Project Author: mondraker
What? Less is more?
Can you develop such a development board for just over 80 yuan? No nesting dolls allowed
What’s important!!
During the development process, it allows someone who has never encountered LVGL or ESP32 to get started with LVGL, ESP32S3, and ESP-IDF usage!!
Moreover, by drawing a module, you can step into the next level! It’s all about the thrill!
Just connect the battery to use it, and the sense of achievement is also up to standard!
Can you resist not replicating this??! Anyway, I can’t!
I made a development board that is convenient for debugging and learning ESP32S3, with all circuit codes open source.



It is portable, easy to expand, and easy to replicate… with many “novel” features.
This article will focus on hardware, features, and replication precautions.The software part is better to look directly at the source code, and the entrance will be attached at the end.
This chapter focuses on 5 parts of the feature highlights.
Including: power management module, USB mode switching, mobile-like human-computer interaction vibration feedback, IO pin customization, about LVGL…
For power management, I used the previously open-sourcedAXP202 module.
At that time, many friendsdidn’t know how to integrate it into their projects.
The schematic of this development board will be provided for reference, and it will also help familiarize the use of the power management module.
The power module of this project can provide comprehensive power information.
Including but not limited to—various adjustable voltage and current, multiple ADC voltage and current readings, battery coulomb meter, USB current limiting, adjustable battery charging voltage, comprehensive battery protection, long press to turn on/off, etc.
Among them, the RTC chip uses BM8563, which is compact and precise.
AXP202’s LDO1 is the RTC power supply, which is always on, providing uninterrupted power to the RTC chip, and its BACKUP pin can connect a button battery as a backup RTC power supply.
The USB host and device modes can be switched freely, the host mode A port has independently controllable power supply.
The USB part uses a WCH high-speed differential analog switch to switch between host and device modes.
Since the power management chip can autonomously set USB input current limiting, it saves an additional current limiting chip.
When the ESP32S3 controls the analog switch to connect the USB pins to the A port, the device is in host mode.
The power management module’s exten pin controls the power enable of the A port, with power coming from the voltage of the power module’s Ipsout pin, which is boosted to 5V by a SY7088 chip to meet the power supply needs of external slave devices, and 5V 1A operation is fine.
The following figure shows the connection to the Quectel BG96-4G&GNSS module via USB virtual serial port for AT command testing:
When the ESP32S3 controls the analog switch to connect the USB pins to the C port, the device is in device mode.
In the current mode, the ESP32S3 acts as a device that can connect to a computer for USB downloading, or act as a simulated USB drive, etc.This function can be used for development— wireless storage devices, Wi-Fi network cards, LTE MiFi, multimedia devices, virtual keyboard and mouse, etc..
A TI DRV2605 ERM (Eccentric Rotor) & LRA (Linear Resonant) vibration motor driver chip, with multiple built-in vibration effect libraries, contains hundreds of effects, just by simply calling functions you can achieve a mobile-like interactive tactile experience.
I also wrote a comprehensive test routine for experiencing screen touch and vibration feedback.
For example, it can be used as a gesture remote control, game console, etc.
Fully functional GPIO leads out, easily connects to customized module, high flexibility, comprehensive functions, alleviating the pain during testing and learning. All materials, both software and hardware, are open source, publicly sharing my learning process.
In addition to all basic control examples and official test examples.
① I ported the LVGL examples from Baiwen Network (2048, calculator, drawing board, etc.)
② I provided example explanations, such as: how to port code from the official graphical design software Squareline to run on ESP32.
TF card and screen share SPI signal line, switched via CS pin.
This may cause screen stuttering during TF read/write.
The reason for this design is that as a development board, it was designed to add as many functions as possible, and the remaining pins need to be used for I2S.
Mainboard Front
Mainboard Back
Mainboard Description (Click to enlarge)
In order to be compatible with more screen types and to expand more modules, the screen is not directly attached to the back of the main control board, but is independently extended. The main control board only leads out the interface.


The ribbon cable on the mainboard only leads out SPI interface, I2C interface, and some power supply.
If you need to test MCU/RGB/QSPI and other interface screens, you need to use the reserved 2.54mm pin holes.
To match the special distance between the two boards, use extended header pins and short female headers.This way, modules can be installed on both sides, and you can also use extended header pins for testing or expanding other functions, killing two birds with one stone (an inspiration from using TI development boards).
Header pins need to be adjusted after purchase, as shown in the following images:


The header pins are installed on the front of the mainboard (the longer side of the header pins):
The header pins are installed on the back of the mainboard (the shorter side of the header pins, note that the black pad block is on this side):
Extension Definition:
The definition of the 2.54mm header pin is as follows:
The definition of the 16pin 0.5mm fpc flip cover header pin is as follows:
The definition of the debug interface 2.54mm header pin (back of the mainboard) is as follows:
The definition of the custom serial module (GPS, nine-axis, etc.) solder pad is as follows (back of the mainboard):
The definition of the custom serial module (GPS, nine-axis, etc.) expansion solder pad is as follows (front of the mainboard):
Note! The following text mainly revolves around—soldering, assembly, debugging, circuit design, open-source data download entrance related to the replication instructions.
① Since there are components on both sides, prioritize soldering the side with more components, which is the side with the ESP32S3 (front).
② Use medium-temperature solder for the front soldering; after placing the components, directly use a hot plate or heat gun; apply more solder paste to the header pins and just drag with a soldering iron above 300 degrees.
③ For back soldering it is essential to fix the circuit board, keeping the components on the front elevated. If you cannot control the temperature with a heat gun, use low-temperature solder to avoid melting and displacing the front components.
④ After soldering, be sure to use a multimeter to measure if each power supply path is short-circuited to ground; you must measure! Do not connect the battery during the first test!!! Pay attention to safety!
① The side with the power module faces down.
② The side with the vibration motor attaches the battery.
③ The screen board is installed facing up, fixed with copper pillars, with a middle layer thickness of 0.8mm.
④ The top is the main board, and the bottom is the screen board.
⑤ The left is the screen board, the right is the main board, and the battery can be installed in the middle.
After powering with the USB_power port, the axp202 will start directly, no need to press a button to turn it on; at this point, check if each voltage is normal.
There are two ways to download!
First method: USB direct download debugging
① Disconnect the power from the USB_power port.
② Use a USB data cable to connect the USB_device port to the PC.
Second method: USB to TTL & JTAG download debugging
① Connect the downloader according to the pin number to the debug interface of the mainboard.
② Then be sure to power the device using the USB_power port. If connected to the USB_device port and the device is in device mode, it will grab the interface, causing the device to repeatedly reconnect.
At this point, the computer will show that a USB device is connected.
③ Use Arduino or ESP-IDF to select the download method to compile and burn the program.
After success, debug information will be displayed in the serial monitor, indicating successful replication. If it shows that I2C communication is abnormal, check the connections between the microcontroller and the power module, etc.
Main Control Board (Screen Pin) Schematic
Main Control Board (Screen Pin) Schematic 2
Main Control Board (Screen Pin) PCB Diagram
Screen Board (Screen Pin) Schematic
Screen Board (Screen Pin) PCB Diagram
If you need the 【circuit + code】 source files, please 【scan or copy the link】 to enter the open-source website for viewing and obtaining.

Copy the open-source website and open it in any browser:
https://oshwhub.com/mondraker/jiu-shi-ni-xiang-yao-de-nei-zhon#



*This article is a reprint of user creations from the “Lichuang Open Source Hardware Platform”. If there is any infringement, please contact us for deletion.
