ESP32-S3 SuperMini is a tiny (23.5 × 18 mm) and cheap board with the ESP32-S3 chip. Compared to the ESP32-C3 SuperMini, it has two cores, 2 MB PSRAM, more pins and USB that can also act as a keyboard or mouse (HID).
It has 18 pins along the sides and breaks out another 20 GPIO to pads on the bottom. It can also charge a Li-Po cell connected to the B+ and B− pads.
Specifications
- ESP32-S3FH4R2: 2× Xtensa LX7 up to 240 MHz, 512 kB SRAM
- 4 MB flash and 2 MB PSRAM inside the chip package
- Wi-Fi 4 (2.4 GHz) and Bluetooth 5 (LE), ceramic antenna
- 15 GPIO along the sides (GPIO1–13, TX and RX) and 20 on pads on the bottom
- 18 analog inputs (GPIO1–18), 14 touch inputs (GPIO1–14)
- UART, I2C and SPI on any pin (GPIO matrix), PWM on all
- USB-C with native USB (no converter), BOOT (GPIO0) and RESET buttons
- WS2812 RGB LED and an LED on GPIO48, 100 mA Li-Po cell charging (300 mA with the BOOST solder jumper)
In the Arduino IDE, select ESP32S3 Dev Module and enable USB CDC On Boot, otherwise you won’t see the Serial output. PSRAM is disabled by default – enable it with the PSRAM: QSPI PSRAM option. The default bus pins in the diagram apply to this board profile.
The board is made by several Chinese manufacturers without official documentation. The pinout is based on documentation from the manufacturer TENSTAR ROBOT; units from other manufacturers may differ in details.
Pinout and pin table
Hover over a pin in the diagram or a table row; use the filter to highlight a bus. You can download the pinout as PNG or SVG.
Bottom side
| Pin | Name | Direction | UART | I2C | SPI | ADC | Touch | Note |
|---|---|---|---|---|---|---|---|---|
| 1 | GPIO43 | input/output | TX | UART0 TX | ||||
| 2 | GPIO44 | input/output | RX | UART0 RX | ||||
| 3 | GPIO1 | input/output | ADC1_CH0 | T1 | ||||
| 4 | GPIO2 | input/output | ADC1_CH1 | T2 | ||||
| 5 | GPIO3 | input/output | ADC1_CH2 | T3 | Strapping pin (JTAG source selection) – has no effect unless set in eFuse | |||
| 6 | GPIO4 | input/output | ADC1_CH3 | T4 | ||||
| 7 | GPIO5 | input/output | ADC1_CH4 | T5 | ||||
| 8 | GPIO6 | input/output | ADC1_CH5 | T6 | ||||
| 9 | GPIO7 | input/output | ADC1_CH6 | T7 | ||||
| 10 | GPIO8 | input/output | SDA | ADC1_CH7 | T8 | |||
| 11 | GPIO9 | input/output | SCL | ADC1_CH8 | T9 | |||
| 12 | GPIO10 | input/output | SS | ADC1_CH9 | T10 | |||
| 13 | GPIO11 | input/output | MOSI | ADC2_CH0 | T11 | |||
| 14 | GPIO12 | input/output | SCK | ADC2_CH1 | T12 | |||
| 15 | GPIO13 | input/output | MISO | ADC2_CH2 | T13 | |||
| 16 | 3V3 | output | 3.3 V output from the regulator | |||||
| 17 | GND | – | ||||||
| 18 | 5V | input/output | 5 V from the USB connector. It can also power the board – ideally connect the supply through a diode so voltage does not flow back into USB. | |||||
| Bottom side | GPIO48 | input/output | WS2812 RGB LED and a plain LED – both are on this pin, they cannot be controlled separately. | |||||
| Bottom side | GPIO47 | input/output | ||||||
| Bottom side | GPIO46 | input/output | Strapping pin – logic 0 or unconnected at boot for download mode | |||||
| Bottom side | GPIO45 | input/output | Strapping pin (VDD_SPI voltage) – logic 0 at boot | |||||
| Bottom side | GPIO42 | input/output | JTAG MTMS | |||||
| Bottom side | GPIO41 | input/output | JTAG MTDI | |||||
| Bottom side | GPIO40 | input/output | JTAG MTDO | |||||
| Bottom side | GPIO39 | input/output | JTAG MTCK | |||||
| Bottom side | GPIO38 | input/output | ||||||
| Bottom side | GPIO37 | input/output | ||||||
| Bottom side | GPIO36 | input/output | ||||||
| Bottom side | GPIO35 | input/output | ||||||
| Bottom side | GPIO34 | input/output | ||||||
| Bottom side | GPIO33 | input/output | ||||||
| Bottom side | GPIO21 | input/output | ||||||
| Bottom side | GPIO18 | input/output | ADC2_CH7 | |||||
| Bottom side | GPIO17 | input/output | ADC2_CH6 | |||||
| Bottom side | GPIO16 | input/output | ADC2_CH5 | |||||
| Bottom side | GPIO15 | input/output | ADC2_CH4 | |||||
| Bottom side | GPIO14 | input/output | ADC2_CH3 | T14 | ||||
| Bottom side | BAT+ | input/output | 3.7 V Li-Po/Li-Ion cell positive (pad B+ underneath). The board charges it from USB at 100 mA, with the BOOST jumper at 300 mA – close it only for cells above 500 mAh. | |||||
| Bottom side | BAT- | – | Cell negative (GND) |
Pins used on the board
These chip pins are used by parts on the board and are not broken out:
| Pin | Function on the board |
|---|---|
| GPIO0 | BOOT button |
| GPIO19 | USB D− (native USB) |
| GPIO20 | USB D+ |
What to watch out for
- The GPIO are not 5V tolerant. Use a level shifter for 5V signals.
- Strapping pins: GPIO0 is the BOOT button (logic 0 at boot = download mode), GPIO45 must be at logic 0 at boot and GPIO46 at logic 0 or unconnected. GPIO3 selects the JTAG source.
- Both the RGB LED and the plain LED are on GPIO48 – they can only be controlled together, and if you use GPIO48 as a regular pin, they will flash.
- ADC2 (GPIO11–18) is limited while Wi-Fi is on – prefer ADC1 (GPIO1–10) for analog.
- The bottom pads have a pitch smaller than 2.54 mm – wires are soldered to them; they are not suitable for a breadboard.
- Only close the BOOST solder jumper (300 mA charging current) for cells with a capacity above 500 mAh.
- If the board stops showing up on USB after uploading a program, hold BOOT, press RESET and release BOOT – it will start in download mode.
ESP32-S3 on chiptron.eu/
Projects and guides on chiptron.eu/:
- ESP32 Web Flasher – flash firmware to an ESP32-S3 from the browser with the correct offsets, plus a serial monitor
- ESP32 chip comparison – which ESP32 to choose based on peripherals and project needs
More pinouts
See all pinouts on the Pinouts page.