ESP32 bases/The four bases/03. The expansion base
The four bases · 03 of 10

The expansion base

The plain one: two rows of 2.54 mm contacts down each edge, one of pins and one of sockets, so a jumper fits whichever end it happens to have. All twenty-four available GPIOs, and the display port.

Fifteen rows a side

The edge is fifteen contacts on each side, printed top to bottom. On the left: GND, 3V3, then GPIO 36, 39, 34, 35, 32, 33, 25, 26, 27, 14, 12, 13, then 5V. On the right: GND, 3V3, then GPIO 23, 22, 21, 19, 18, 5, 17, 16, 4, 0, 2, 15, then 5V.

Twelve GPIOs a side, twenty-four in all, with a ground and both supply rails at the ends of each row so nothing has to reach across the board.

The top of the ESP32 expansion base: a black board with GND, 3V3, 36, 39, 34, 35, 32, 33, 25, 26, 27, 14, 12, 13 and 5V printed down the left edge and GND, 3V3, 23, 22, 21, 19, 18, 5, 17, 16, 4, 0, 2, 15 and 5V down the right, two vertical connector strips inboard of each label column, a fifteen-way ribbon socket at the top marked PINS FACE DOWN, and ESP32'S USB IS ORIENTED THIS WAY across the bottom.
Fifteen rows a side. The two strips inboard of each label column are that side's two edge rows; the taller strips in the middle are the sockets the ESP32 sits in.

One row, three places

Each row is one net. Follow it and it reaches two contacts at the edge, the socket pin the ESP32 sits on, and — for thirteen of the twenty-four GPIOs — a pin of the display connector as well.

Where one row goes
left row 3: 36
Side
Row, from the top36
Edge contacts
2
Socket pin
36
Display pin
GPIO 36 reaches three places at once. Two contacts at the edge, the socket pin under the board, and nothing else — this one is not on the display connector. Wiring one of them does not use up the others, but they are the same wire: two things driving it are two things fighting.

That is worth understanding before you wire anything, because it is also the rule for what you may not do. Two sensors reading the same row is fine. Two things driving it is two outputs fighting, and the row has no idea they arrived through different holes.

Two rows, two kinds of jumper

A jumper wire ends in either a plug or a socket, and which one you are holding usually decides how much of the evening you spend hunting for an adapter. This base carries a row of each on every side, at the same fifteen positions, so whichever end you have goes straight on.

The ESP32 expansion base at an angle, showing the two edge strips on each side: an inner strip of tall square pins standing up from a grey body, and beside it a black strip of sockets at the same spacing, with the pin names printed on the black PCB outside them.
Pins on one strip, sockets on the other, at the same fifteen positions. The taller black strips further in are where the board goes.

The spacing is 2.54 mm, so a breadboard jumper reaches everything and a ribbon cable with a 0.1 inch connector lands square.

What it does not have

No LEDs, no buffers, no regulator — this board is copper. Everything at the edge is the ESP32's own pin, and the 3.3 volts is the dev board's own regulator output. If you want to see what the pins are doing, that is the next board.

When it does not work

Which of the two rows should I use?

Whichever end your jumper has. The two rows on one side are the same copper as each other and as the socket pin under the board, so there is no electrical difference — only a mechanical one. Use the socket row for a jumper with a plug on the end and the pin row for one with a socket on the end.

I have wired both rows of the same pin

That is allowed, and often useful: one sensor's signal and one meter probe on the same GPIO. What is not allowed is two things driving it. Two outputs on one row is two chips fighting, and the row does not care that they arrived by different holes.

There is no row for GPIO 1, 3 or 6 to 11

No base brings those out. GPIO 6 to 11 are wired to the flash chip inside the module's can, and GPIO 1 and 3 are the serial link your computer programs the board over. The pins exist on the dev board; using them stops it booting or stops it uploading.

The board rocks on the bench

The two rows of edge contacts stand proud of the PCB and the corners have nothing under them. Four rubber feet in the mounting holes, or a brick under each corner, and it sits flat.

Where this goes next

The same board with an LED on every pin, and nothing added to your signals.

The PinPulse base

Edit this page — content/books/esp32-base/the-expansion-base.mdx

Community

Questions about this product

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

This page covers several products. Choose yours to see the right 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