template and projects using ESP32-S2
Go to file
King Kévin e51bddae50 main: also check GPIO0 for DFU 2023-03-13 23:14:31 +01:00
main main: also check GPIO0 for DFU 2023-03-13 23:14:31 +01:00
.gitignore ignore managed components 2023-01-07 01:38:03 +01:00
CMakeLists.txt create blank ESP project 2022-07-18 11:32:41 +02:00
LICENSE.md add licenses 2022-07-18 11:58:28 +02:00
README.md doc: add ESP32-S2 link 2023-01-07 06:30:19 +01:00
partitions.csv conf: align partitions to 64kB 2023-01-07 06:12:32 +01:00
sdkconfig.defaults conf: set freq. to max 240 MHz 2023-01-07 06:25:38 +01:00


this is a template firmware for ESP32-S2-based micro-controller projects.


the board used is a WEMOS S2 mini.

compile and flash

the firmware uses ESP-IDF v5.0. See getting started to install the IDF. once installed, load the IDF tools:


to build the firmware:

idf.py build

note that the first time it will download additional components (such as tinyUSB and esp_tinyusb).

the firmware supports USB DFU flashing. it is meant to be used along the ESP32-S2 DFU mode firmware. Once the DFU mode firmware is installed (on the factory partition), you can flash this firmware (on the ota0 partition) using dfu-util:

dfu-util --device 1d50:617b --alt 1 --download build/main.bin --reset

if the firmware is stuck, and you can't switch from runtime mode to DFU mode using dfu-util, hold pin 14 high while resetting. this will force booting the DFU mode.

you can also flash using the ESP ROM bootloader (hold GPIO0 low while resetting) and esptool:

esptool.py -p /dev/ttyACM0 --before no_reset --after no_reset --chip esp32s2 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x50000 build/main.bin