Topics/Fundamentals/ESP32-S3 PinPulse Shield: an LED on All 36 GPIOs
DIGITALI2CSPIbeginner

ESP32-S3 PinPulse Shield: an LED on All 36 GPIOs

The base for the Lonely Binary ESP32-S3: every GPIO on a male pin and a female socket with its own LED, six inverter chips so the lights cost your signals nothing, and a fifteen-way display port.

ESP32-S3 N16R8 PinPulse Shield, 36 GPIO LEDs

Specifications

FitsThe 44-pin Lonely Binary ESP32-S3 Gold Edition — 22 pins a side, rows 22.86 mm apart. It is in the box
GPIOs at the edgeAll 36 of the board's header GPIOs, with nothing left out
Edge rows2 rows of 22 on each side at 2.54 mm: male pins outside, yellow female sockets inside, wired together pin for pin
LEDs36, one per GPIO, lit while the pin is HIGH. Driven by 6 × SN74HC04 inverters from the 3.3 V rail through 5.1 kΩ, so the pin sees one CMOS input: at most 1 µA and 10 pF
Display connector15-way FPC at 1.0 mm pitch: GND, 3V3 and 13 GPIOs. The legend on the back misprints contacts 10 and 11 as 20 and 22
Power at the edge3V3 twice and 5V once on the left, GND once on the left and three times on the right — on both the pins and the sockets. RST at the top of the left edge
Spoken forGPIO 43 and 44 (serial), 19 and 20 (native USB), 35 to 37 (octal PSRAM on N16R8), 0 (BOOT button) and 48 (RGB LED), all on the dev board, not the shield
Mounting4 × 4.7 mm holes, 40 mm apart across the board
Size61 × 73 mm, 10.3 mm tall from the underside of the board to the top of the sockets

What it is

The ESP32-S3 has forty-four pins and nowhere to put them. The PinPulse shield is the board it drops into: two 22-way sockets down the middle, every pin brought back out at each edge twice — as a male pin and as a female socket — and an LED beside every GPIO that lights while the pin is HIGH.

The ESP32-S3 PinPulse shield at an angle: a black board with four corner mounting holes, a white fifteen-way ribbon socket at the far end, two black sockets down the middle with six small chips between them, and down each long edge a yellow female header, a row of male pins, and a column of tiny LEDs beside the printed GPIO numbers 4, 5, 6, 7, 15, 16, 17, 18, 8, 3, 46, 9, 10, 11, 12, 13 and 14.
The shield without its board. The ESP32-S3 sits in the two black sockets, USB end towards the boxes printed USB.

The lights are the reason to own it. "Is this pin doing anything" is answered without a meter, and a serial port, an I²C bus or a display can be watched working. Six SN74HC04 inverter chips sit between the pins and the LEDs, so the pin drives a CMOS input and the light is paid for by the 3.3 V rail.

Wiring, in four lines

  1. Seat the ESP32-S3 with its two USB sockets over the boxes printed USB. Press straight down, a thumb at each end.
  2. Plug the USB cable in after the board is seated.
  3. Take 3.3 V from the top of the left edge and ground from the bottom of either edge, on a pin or a socket.
  4. For a display, open the latch on the fifteen-way socket, slide the ribbon in, and close the latch.

The two sides of the board

The top of the ESP32-S3 PinPulse shield: the ribbon socket at the top with contacts numbered 15 on the left and 1 on the right; down the left edge 3V3, 3V3, RST, 4, 5, 6, 7, 15, 16, 17, 18, 8, 3, 46, 9, 10, 11, 12, 13, 14, 5V and GND; down the right edge GND, 43, 44, 1, 2, 42, 41, 40, 39, 38, 37, 36, 35, 0, 45, 48, 47, 21, 20, 19, GND and GND; six chips down the middle and two boxes printed USB at the bottom.
Pin 1 of each edge is at the display-port end. Small marks beside some numbers: ~ for the ten ADC1 pins, # for I²C, ^ for SPI.
The underside of the shield: rows of plated through-holes, the lonely binary logo, ESP32-S3 PINPULSE SHIELD in large letters, a boxed table titled DISPLAY CONNECTOR (FPC 15P 1.0MM) listing each contact and its GPIO, the lines I2S SDA(8) SCL(9), SPI SS(10) MOSI(11) SCK(12) MISO(13), UART TX(43) RX(44) and USB DN(19) DP(20), and a note that floating pins make the LEDs blink.
The back. Read I2S as I²C, and read the display table's 20-1 and 22-15 as contacts 10 and 11.

Where to start

The handbook below starts with the one mistake that ends a session — the board in end for end — then the lights, then the pins, and finishes with a sketch that walks a light down every pin it is safe to drive. To see which hole is which GPIO on the board itself, open the shield in 3D.

When it doesn’t work

Which way round does the ESP32-S3 go?
USB sockets over the two boxes printed USB at the bottom of the shield, antenna under the display port. The board fits end for end too, and that way its 3.3 V output lands on the shield's ground row — a short across the regulator. Seat the board first, plug the cable in second.
Why are there pins and sockets on each edge?
So either end of a jumper fits. The outer row is male pins and the inner yellow row is female sockets, and each socket is wired to the pin beside it — two ways onto the same 22 signals, not 44 different ones.
Do the LEDs interfere with I²C, SPI or the serial port?
No, and the six chips are why. Each GPIO drives the input of an SN74HC04 inverter, which TI rates at 1 µA of leakage and 10 pF at most, and the LED's quarter-milliamp comes from the 3.3 V rail through the inverter's output instead of from your pin.
Some LEDs flicker when I touch the board or wave a hand near it.
Those pins are floating: nothing in your sketch has set them, so their inverter inputs pick up whatever is in the air. The back of the shield says the same. Set the pin as an OUTPUT and write it HIGH or LOW, or use INPUT_PULLUP, and the flicker stops.
Some LEDs are lit before I have uploaded anything.
GPIO 0, 43, 44 and 20 are pulled up inside the ESP32-S3 at reset, so their LEDs light on their own; 43 is also the serial transmit line and flickers when anything prints. GPIO 45 and 46 are pulled down and stay dark. None of that is the shield.
Which chips drive the LEDs?
Six 74HC04D hex inverters — SN74HC04 in the board's bill of materials. It is a plain inverter, not the Schmitt-trigger 74HC14, and the difference shows on a floating pin, whose LED can glow half-lit because the HC04 does not snap to one side.
Which pins does the display port use?
Contacts 1 and 2 are GND and 3V3; 3 to 15 are GPIO 41, 42, 2, 13, 12, 11, 10, 1, 15, 7, 4, 6 and 5. The table on the back prints contacts 10 and 11 as 20 and 22; the wiring is right and those two numbers are not. Which line a display uses for chip select or backlight is decided by the display module.
Does 36 lit LEDs overload the board?
No. Each LED draws about a quarter of a milliamp, so all 36 are around 10 mA from the 3.3 V rail. The ESP32-S3 itself peaks at 340 mA while Wi-Fi transmits, which is the number to budget for.

The ESP32-S3 bases handbook

9 articles · about 40 minutes

This page is the reference: what the part is, what it is made of, and the questions people arrive already asking. The handbook is the walk — the same part in the order somebody actually meets it.

Before you plug it in

2 articles

A socket for the ESP32-S3, two rows of pins and sockets down each edge, an LED on every GPIO and a display port. The board goes in one way round.

Thirty-six lights

3 articles

How a pin lights its LED without paying for it, why an unclaimed pin flickers, and the lights that move before your sketch has touched them.

Pins and power

2 articles

All thirty-six GPIOs reach the edge. What the small marks beside them mean, which nine are already spoken for, and where the 3.3 and 5 volts come from.

The display port, and a first build

2 articles

The fifteen-way ribbon socket at the top of the board, and a sketch that walks a light down every pin it is safe to drive.

Edit this page — content/modules/esp32s3-base.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

ESP32-S3 N16R8 PinPulse Shield, 36 GPIO LEDs

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum