Skip to main content
Quick reference for GPIO assignments on the ED1 Citilab Board.

GPIO assignment table

ID = ESPHome component ID. Dir = I (input), O (output), I/O (bidirectional).

Bus assignments

SPI bus

GPIO18 (CLK), GPIO23 (MOSI), GPIO19 (MISO). Used by TFT Display (ST7735).

I2C bus

GPIO21 (SDA), GPIO22 (SCL). Rev 2.3: Rev 1.0:

MCP23009 GPIO mapping (stepper motors)

Touch button mapping

UP
GPIO4
LEFT
GPIO2
TFT Display
RIGHT
GPIO27
OK
GPIO15
X
GPIO14
DOWN
GPIO13

Analog inputs

LED matrix

  • Data Pin: GPIO12
  • Type: WS2812X (GRB color order)
  • Count: 256 LEDs (32 columns x 8 rows)
  • Layout: Serpentine (zigzag) pattern

Pixel mapping

Formula:

Expansion connectors

Analog ports - J5 (left side)

Input-only ADC pins, directly connected to ESP32. Active-low. All analog ports share a 3-pin connector: S (signal), + (3.3V), - (GND).

Digital ports - J2 (right side)

All digital ports share a 3-pin connector: S (signal), + (5V), - (GND). Note: D1 (GPIO12) and D4 (GPIO26) are used internally. D2 (GPIO25) and D3 (GPIO32) are available for external use.

I2C/serial - J6 (bottom left)

Grove connector (J11)

Stepper motor connectors

M1 & M2 (28BYJ-48)

Controlled via MCP23009 I/O expander and ULN2004A drivers.

Reserved/internal GPIOs

These GPIOs are used internally by the ESP32 or board hardware: