Skip to main content

Free GPIO

Along the lower edge of the component side, Inkplate 7SPECTRA brings out three pin rows and three power pads: the ESP32 header with ESP32-S3 pins, the GPIO EXPANDER header with the 16 pins of the PCAL6416A expander, the I2C header, and the VIN, 3V3 and GND pads. The I2C bus also reaches the three Qwiic connectors. Some pins already have a job on the board; the table says which.

Available connections​

Board markingSignal or expander pinCapabilities and restrictions
ESP32: GND, 3V3Ground and 3.3 VPower for what you connect.
ESP32: TXD, RXDESP32-S3 serial pinsNot used by either library's board file.
ESP32: IO11, IO12, IO13microSD card SPI (MOSI, CLK, MISO)Used by the microSD card.
ESP32: IO15ESP32-S3 GPIOShared with the microSD card through JP3; see Jumpers.
ESP32: IO16GPIO expander interruptConnected to the expander's INT through JP4.
ESP32: IO17, IO39, IO41, IO0ESP32-S3 GPIONot used by either library's board file.
ESP32: IO18Wake-up buttonUsed to wake the board from deep sleep.
ESP32: IO1Battery voltage measurementRead by readBattery() and read_battery().
ESP32: IO2RTC interruptConnected to the RTC's INT through JP2.
GPIO EXPANDER: P0-0 to P0-7Expander pins 0 to 7 (IO_PIN_A0 to IO_PIN_A7)Free for your use.
GPIO EXPANDER: P1-0 to P1-7Expander pins 8 to 15 (IO_PIN_B0 to IO_PIN_B7)P1-1 switches the battery measurement and P1-2 the microSD supply; the rest are free.
GPIO EXPANDER: INTExpander interruptSee JP4.
I2C: GND, 3V3, SDA, SCLI2C busShared with the on-board expander (0x20) and RTC (0x51).
VIN, 3V3, GNDPower pads

In MicroPython, begin() sets all 16 expander pins to outputs driven low. Set a pin's mode with gpio_expander_pin() after begin() when you need it as an input.