PinoutESP32-S340 pins

ESP32-S3 Expansion Base pinout

Every hole on the Lonely Binary ESP32-S3 Expansion Base: two 20-way strips a side on the same nets, 28 of the 36 GPIOs at the edge, the eight that stay on the sockets, and the 15-way display connector.

ESP32-S3 Expansion BaseInteractiveOpen the S3 Expansion in 3DTurn the real board over and click any of its 40 holes. Every pad is placed from this design’s own net list.Open in 3D →

Reading this board

The base has no chip and nothing active on it. An ESP32-S3 Gold Edition plugs into the two sockets down the middle, antenna end toward the display connector, and the base brings most of its pins out along both edges. Each edge has two 20-way strips side by side on the same nets, hole for hole, so there are 80 holes in 40 positions: 28 GPIOs, plus 3V3, 5V and GND repeated along the way.

The order is the S3 Gold's own, read from this design's net list, so anything that is true of a pin on the S3 Gold pinout is true of the same pin here. Open the base in 3D and click either strip; the handbook covers using it.

What the edge carries

EdgeTop to bottom, display end first
Left3V3, GND, 4, 5, 6, 7, 15, 16, 17, 18, 8, 3, 9, 10, 11, 12, 13, 14, GND, 3V3
Right3V3, 5V, GND, GND, 1, 2, 42, 41, 40, 39, 38, 48, 47, 21, 20, 19, GND, GND, 5V, 3V3

That is 16 GPIOs on the left and 12 on the right. 5V is on the right strips only, at the second and second-last holes; the left has none.

The eight that stay on the sockets

A strip is 20 holes and a socket is 22, and the dev board has 36 GPIOs, so some do not come out. These eight go to the sockets and no further: GPIO0, 35, 36, 37, 43, 44, 45 and 46. RST stays on the socket as well.

GPIOWhy you would not have wanted it
35, 36, 37Octal PSRAM on the N16R8 module the kit ships. Driving one crashes the board.
43, 44The serial link to the USB-serial chip.
0, 45, 46Strapping pins, read at reset to decide how the chip boots.

Everything else on the dev board's edge is on a strip. GPIO19 and 20 are the native USB lines and GPIO3 is a strapping pin that floats by default; they are there if you want them, with those facts attached.

The marks and the back

The top silkscreen prints ~, # and ^ beside some numbers. The back repeats them as boxes: ADC1 over 3 to 10, I2S over SCL 9 and SDA 8, UART TX 43 and RX 44, SPI MOSI 11, MISO 13, SCK 12, SS 10, and USB D− 19, D+ 20. The I2S box means I²C; nothing on this board touches I²S. 43 and 44 are on the back's UART box but are not brought out to a strip.

The display connector

A 15-way FPC socket on a 1.0 mm pitch at the top of the board. Nothing switches its lines: all thirteen signals are the same nets as holes on the strips, so a fitted display owns those GPIOs.

ContactSignalContactSignal
1GND9GPIO10
23V310GPIO1
3GPIO4111GPIO15
4GPIO4212GPIO7
5GPIO213GPIO4
6GPIO1314GPIO6
7GPIO1215GPIO5
8GPIO11

The net list names those lines BL, DC and CS for GPIO41, GPIO2 and GPIO10, and D2 to D7 for GPIO1, 15, 7, 4, 6 and 5. The back of the board prints contacts 10 and 11 as 20-1 and 22-15; there is no contact 20 or 22 on a 15-way connector, so that is a typo in the legend and the wiring above is right.

Power

3V3 and 5V are the S3 Gold's own pins passed straight through; the base has no regulator. 3V3 comes from the S3 Gold's AMS1117 and there is a 3V3 hole at both ends of every strip. 5V is the dev board's 5V pin, which on USB power is the cable's 5 V less a diode drop. All the GND holes are the same net.

Pins to leave alone

  • GPIO15 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO16 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO17 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO18 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO3 — Strapping pin. Selects the JTAG source. Floating at reset is the normal state.
  • GPIO11 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO12 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO13 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO14 — ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
  • GPIO48 — WS2812B RGB LED, single-wire at 800 kHz. The silkscreen says RGB@IO48.
  • GPIO20 — Native USB-C, D+ . Wired straight to the USB-Serial-JTAG peripheral, no bridge chip in the path.
  • GPIO19 — Native USB-C, D− . Wired straight to the USB-Serial-JTAG peripheral, no bridge chip in the path.

Every pin

PinNameFunctionsNotes
3V33.3 V railpowerL1. Output of the on-board regulator. Everything on the board runs from it, so budget what the regulator can spare, not what USB can deliver. A steady 3.3 V supply can also power the board through it, but never with USB plugged in at the same time.
GNDGroundpowerL2. Ground. Several holes so a breadboard build has one nearby wherever it needs it.
GPIO4GPIO4gpio, adc1, touchL3
GPIO5GPIO5gpio, adc1, touchL4
GPIO6GPIO6gpio, adc1, touchL5
GPIO7GPIO7gpio, adc1, touchL6
GPIO15GPIO15gpio, adc2ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO16GPIO16gpio, adc2ADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO17GPIO17gpio, adc2, uartADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO18GPIO18gpio, adc2, uartADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO8GPIO8gpio, adc1, touch, i2cL11. Arduino default: Wire (I²C) SDA.
GPIO3GPIO3gpio, adc1, touchStrapping pin. Selects the JTAG source. Floating at reset is the normal state.
GPIO9GPIO9gpio, adc1, touch, i2cL13. Arduino default: Wire (I²C) SCL.
GPIO10GPIO10gpio, adc1, touch, spiL14. Arduino default: SPI (HSPI) SS.
GPIO11GPIO11gpio, adc2, touch, spiADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO12GPIO12gpio, adc2, touch, spiADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO13GPIO13gpio, adc2, touch, spiADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GPIO14GPIO14gpio, adc2, touchADC2, so analogRead stops working the moment Wi-Fi starts. Unaffected as a digital pin.
GNDGroundpowerL19. Ground. Several holes so a breadboard build has one nearby wherever it needs it.
3V33.3 V railpowerL20. Output of the on-board regulator. Everything on the board runs from it, so budget what the regulator can spare, not what USB can deliver. A steady 3.3 V supply can also power the board through it, but never with USB plugged in at the same time.
3V33.3 V railpowerR1. Output of the on-board regulator. Everything on the board runs from it, so budget what the regulator can spare, not what USB can deliver. A steady 3.3 V supply can also power the board through it, but never with USB plugged in at the same time.
5V5 V railpowerR2. The USB rail, upstream of the regulator. Feed the board here if you are not using USB, or take 5 V out if you are.
GNDGroundpowerR3. Ground. Several holes so a breadboard build has one nearby wherever it needs it.
GNDGroundpowerR4. Ground. Several holes so a breadboard build has one nearby wherever it needs it.
GPIO1GPIO1gpio, adc1, touchR5
GPIO2GPIO2gpio, adc1, touchR6
GPIO42GPIO42gpio, jtagR7
GPIO41GPIO41gpio, jtagR8
GPIO40GPIO40gpio, jtagR9
GPIO39GPIO39gpio, jtagR10
GPIO38GPIO38gpioR11
GPIO48GPIO48gpioWS2812B RGB LED, single-wire at 800 kHz. The silkscreen says RGB@IO48.
GPIO47GPIO47gpioR13
GPIO21GPIO21gpioR14
GPIO20GPIO20gpio, adc2, usbNative USB-C, D+ . Wired straight to the USB-Serial-JTAG peripheral, no bridge chip in the path.
GPIO19GPIO19gpio, adc2, usbNative USB-C, D− . Wired straight to the USB-Serial-JTAG peripheral, no bridge chip in the path.
GNDGroundpowerR17. Ground. Several holes so a breadboard build has one nearby wherever it needs it.
GNDGroundpowerR18. Ground. Several holes so a breadboard build has one nearby wherever it needs it.
5V5 V railpowerR19. The USB rail, upstream of the regulator. Feed the board here if you are not using USB, or take 5 V out if you are.
3V33.3 V railpowerR20. Output of the on-board regulator. Everything on the board runs from it, so budget what the regulator can spare, not what USB can deliver. A steady 3.3 V supply can also power the board through it, but never with USB plugged in at the same time.

For this board

  • ESP32-S3 Pluggable Terminal Base pinout — Every way on the Lonely Binary ESP32-S3 Pluggable Terminal Base: 24 GPIOs on two 12-way push-in blocks, two 4-way power blocks, the display connector, and the twelve pins that stay off the edge.
  • ESP32-S3 Screw Terminal Base pinout — Every way on the Lonely Binary ESP32-S3 Screw Terminal Base: two 15-way screw blocks, 26 GPIOs once each, 3V3 on the left and 5V on the right, and the ten GPIOs that do not come out.
  • 3-Axis Accelerometer — A Silan SC7A20H accelerometer on a TinkerBlock board: tilt, orientation, shakes and drops over two shared I²C wires, at address 0x19, with the pull-ups fitted. 3.3 V only.
  • PCA9685 16-Channel Servo Driver: Sixteen Servos on Two I²C Wires — A PCA9685 board that keeps sixteen servo pulses running by itself while the microcontroller talks to it over I²C. Servo power on V+ from USB-C or a screw terminal, the chip on VCC, six address pads, and a header on each edge so boards plug into each other. Three boards a box, headers soldered.
  • HotSwap Arcade Kit: Buttons, Joystick and Coin Acceptor for ESP32-S3, Nano, Pico and Zero 2 W — One mainboard for ten buttons, a joystick, a 12 V coin acceptor and an SPI screen, and four adapters that plug it into an ESP32-S3, a classic Arduino Nano, a Raspberry Pi Pico or a Zero 2 W. Pin tables for every adapter, the power arrangement, and the code.
  • Breadboard Power Adapters: Standard 5 V / 3.3 V, Step-Down and Booster — Three USB-C breadboard power adapters that plug into both pairs of rails at one end: a standard board with a 5 V / 3.3 V switch per side, a step-down that sets 1.25 to about 3.5 V, and a booster that sets about 4.3 up to 28 V. Which way round they go, why 5 V reads 4.7, and the half-amp fuse that limits all three.
  • CAN Bus — An SN65HVD230 CAN transceiver on a TinkerBlock board, for 3.3 V microcontrollers with a CAN controller of their own, such as every ESP32. CTX and CRX go straight across, the 120 Ω fitted on every board belongs only on the two end boards, GND runs with a twisted pair, and one board alone can never finish a message.
  • I2S Amplifier — An NS4168 I2S amplifier on a TinkerBlock board: the ESP32-S3 sends sound as numbers on three wires and the chip drives a 4 Ω speaker, about 1 W on 3.3 V. CTRL must be driven HIGH or it stays off, the L/R jumper picks which channel the mono chip plays, and neither speaker wire is ground.

Edit this page — content/pinouts/s3base.mdx