Interactive Connector Diagram
Click or tap any pin in the diagram below to inspect its signal assignment, electrical specification, and wire colour standard.
Supported Systems / Found On — Retro Machine Hubs
This connector is used on the following retro computer systems. Click any colour-coded badge below to open its full board-level repair, diagnostic, and schematic Machine Hub:
Connector Specifications
Full Pin Assignment & Wiring Reference
| Pin | Signal Name | Direction | Electrical Spec / Role | Wire Colour / SCART / Adapter Target |
|---|---|---|---|---|
| GPIO0 | BOOT / STRAPPING | I/O | Strapping Pin (Internal Pull-Up: High = Run Flash; Low = Serial Bootloader) | BOOT Button |
| GPIO1 & GPIO3 | UART0 TX (1) & RX (3) | I/O | USB-Serial Console TX0 (GPIO1) and RX0 (GPIO3) | USB UART0 |
| GPIO2 | ONBOARD LED / STRAP | I/O | Onboard Blue LED (Must be Low or Floating during serial flashing) | Blue LED |
| GPIO4, 16, 17 | UART2 RX (16) & TX (17) | I/O | Safe General Purpose I/O & Hardware UART2 (Ideal for Zimodem / SIO!) | Safe GP I/O |
| GPIO5, 18, 19, 23 | VSPI (SD Card Bus!) | I/O | Default VSPI for MicroSD Cards: CS=GPIO5, SCK=GPIO18, MISO=GPIO19, MOSI=GPIO23 | SD Card SPI |
| GPIO12 (MTDI) | VDD_SDIO STRAP TRAP! | I/O | WARNING: Must be LOW (0 V) at boot! Pulling High selects 1.8V Flash and crashes! | Keep Low at Boot |
| GPIO13, 14, 15 | HSPI / JTAG PINS | I/O | Secondary HSPI bus (SCK=14, MISO=12, MOSI=13, CS=15) | HSPI |
| GPIO21 & 22 | I²C SDA (21) & SCL (22) | I/O | Default I²C Bus (for SSD1306 OLED displays on FujiNet / Tapuino) | OLED I²C |
| GPIO25, 26, 27, 32, 33 | SAFE GP I/O + DAC | I/O | Safe General Purpose I/O + 8-Bit Analog DACs (GPIO25 & GPIO26) + ADC1 (32/33) | Safe GP I/O |
| GPIO34, 35, 36, 39 | INPUT ONLY (No Pullup) | In | INPUT-ONLY Pins (Great for reading buttons/status; require external pull-up resistors!) | Input Only |
| VIN, 3V3, GND | 5V IN / 3.3V OUT / GND | Pwr | VIN = +5 V Input (to AMS1117-3.3); 3V3 = Regulated +3.3 V Out; GND = 0 V | Power Rails |
Best Practices When Connecting an ESP32 to 5V Retro Computers
The ESP32-WROOM-32 DevKit V1 is the powerhouse behind modern retro wireless and storage interfaces (FujiNet for Atari/Apple/Coleco, BlueRetro Bluetooth joystick adapters for Amiga/C64/Atari, Zimodem User Port/RS-232 Wi-Fi modems, and TRS-IO for the TRS-80). Knowing which pins are safe general-purpose I/O versus boot-strapping or input-only pins avoids hours of debugging.
- Always Use UART2 (GPIO16 RX2 & GPIO17 TX2) for Retro Serial Links: Leave GPIO1/GPIO3 (UART0) free for USB debugging and firmware updates, and remap your retro serial bus (Atari SIO, C64 User Port, or MAX3232 RS-232) to GPIO16 and GPIO17 in hardware!
- Why ADC2 Pins Cannot Read Analog Joysticks When Wi-Fi Is Active: On the ESP32, the internal ADC2 controller (GPIO0, 2, 4, 12–15, 25–27) is shared with the Wi-Fi radio! Always use **ADC1 pins (GPIO32, 33, 34, 35, 36, 39)** for reading analog paddles or voltages while Wi-Fi/Bluetooth is running.