Ai-Thinker ESP32-S2F Module (ESP-12H)
Ai-Thinker ESP32-S2F

Available from:


GPIO #Component
GPIO00 User
GPIO01 User
GPIO02 User
GPIO03 None
GPIO04 None
GPIO05 User
GPIO06 None
GPIO07 User
GPIO08 User
GPIO09 User
GPIO010 User
GPIO011 User
GPIO012 User
GPIO013 None
GPIO014 None
GPIO015 None
GPIO016 None
GPIO017 None
GPIO018 None
GPIO019 User
GPIO020 User
GPIO021 User
GPIO33 User
GPIO34 User
GPIO35 None
GPIO36 None
GPIO37 User
GPIO38 None
GPIO39 None
GPIO40 None
GPIO41 None
GPIO42 None
GPIO43 User
GPIO44 User
GPIO45 None
GPIO46 None
Configuration for ESP32-S2
Flash only with ESP32-S2 tasmota32s2... binaries.

This module is pin compatible with WB3, WB3L, WB3S, WBR3, WR3, WR3E, WR3L, WR3N, CB3S, CB3L, C-8138, ESP-12E/F/S and more…


Early line of ESP-12H have a labelling error. IO28 is supposed to be IO29. The image above is the correct pinout.


To put the module in flash mode GPIO0 needs to be pulled low.

Flash using Tasmota Web Installer using Tasmota32-S2 option.

If using esptool.py download required files and tasmota32s2.bin and put them in the same folder.

esptool.py --chip esp32s2 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dout --flash_freq 40m --flash_size detect 0x1000 bootloader_dout_40m.bin 0x8000 partitions.bin 0xe000 boot_app0.bin 0x10000 tasmota32s2.bin

You can purchase (AliExpress, Amazon, Banggood) a test board for effortless flashing. Just drop the module in, plug in the USB cable, hold the boot button while powering up and flash!

Test Board


ESP32’s are power hungry on boot and the USB to serial adapter might not be able to provide enough power for that. Use a stable 3.3v power supply that can supply more than 500 mA