Chapter 01 · Hardware

Meet the board

The Adafruit ESP32-S3 Reverse TFT Feather (#5691) is a complete computer the size of two postage stamps: Wi-Fi, a color screen, three buttons, battery charging — everything this project needs, with nothing to solder. One USB-C cable is the only connection you'll ever make; every other pin and port on the board goes unused.

Top-down view of the ESP32-S3 Reverse TFT Feather showing the 1.14 inch display, reset button on the left, and D0, D1, D2 buttons on the right
Display side. The 1.14″ color TFT dominates the front, flanked by Reset (left) and the three user buttons D0 / D1 / D2 (right). The two rows of holes are the Feather-standard GPIO pins — like everything but the USB-C port, they're unused by this project and free for your next one.

Vital statistics

The 30-second tour

ESP32-S32× cores @ 240 MHz
4 MB + 2 MBFlash + PSRAM
2.4 GHzWi-Fi + BLE 5
240 × 135Color TFT (ST7789)
3 + 1User buttons + reset
USB-CNative USB, no adapter chip
LiPolyCharger + fuel gauge
STEMMA QTPlug-and-play I²C port

The ESP32-S3 is Espressif's Wi-Fi microcontroller — the same family that powers a huge share of the world's smart plugs and IoT gadgets. Two Xtensa cores at 240 MHz and megabytes of RAM is lavish by microcontroller standards, and exactly why it runs Python comfortably (chapter 02).

Naming things

Why “Reverse”? Why “Feather”?

Both sides of the board: display side on the left, component side with the ESP32-S3 module on the right
Two-faced by design. Display side (left) and component side (right). All the electronics live on the back so the front is pure screen.

Feather is Adafruit's standard board shape — a shared form-factor spec with a fixed pin layout, so hundreds of boards and stackable “FeatherWing” add-ons are interchangeable, like LEGO for electronics.

A regular TFT Feather puts the screen on the same side as the chips. The Reverse edition flips it to the opposite side, so you can mount the board flat against a case or stand and still face the display — perfect for a desk gadget that's all screen.

Field notes

Subsystems, up close

Everything the dash touches, in hardware form. Captions note the GPIO pins you'll meet again in chapter 03 — all internal board wiring, nothing you connect yourself.

The map

Pinout: reference only — USB-C is the only connection

First, the important part: this project connects to nothing but the USB-C port. Every header pin, pad, and connector on the board goes unused — there is nothing to wire, jumper, or solder. The map below is purely for reference: the display and buttons are wired to GPIOs inside the board, and those numbers surface again in the firmware (chapter 03).

Adafruit's official display-side pinout diagram of the ESP32-S3 Reverse TFT Feather
Adafruit's official display-side pinout. The component side has its own diagram — both live in the learn-guide pinouts page.

Every signal in this table is internal board wiring between the ESP32-S3 and the onboard display, buttons, and LED — none of it involves a physical connection on your part.

SignalGPIOWhy the firmware cares
SPI clock / data (SCK, MOSI)36 / 35The display bus — pixels travel here at 40 MHz
TFT CS / DC / RESET42 / 40 / 41Display control lines the ST7789 driver toggles
TFT backlight45HIGH = screen lit
TFT + I²C power rail7Must be HIGH or the display is dead — the classic “blank screen” gotcha
Buttons D0 / D1 / D20 / 1 / 2D0 reads LOW when pressed (it's also BOOT); D1/D2 read HIGH
NeoPixel data / power33 / 21Not used by the dash — but used by you, next chapter
Field tip

Two pins on this board are power gates, not signals: GPIO7 (display + STEMMA rail) and GPIO21 (NeoPixel). Adafruit gates these rails so battery projects can cut power to save energy — the price is that you must switch them on in software first.

Go deeper

Bookmark these