Input/Output (GPIO) on Tachyon
Tachyon provides various IO interfaces, including:
- 40-pin GPIO header (compatible with Raspberry Pi HATs)
- Qwiic connector (following SparkFun & Adafruit spec)
40-Pin Header
The 40-pin header follows the Raspberry Pi standard, so most of the HATs designed for RPi should be compatible with Tachyon. We know it`s not perfect, but we want to make sure as many HATs as possible work before the EUFI option to change the pins is made available.

In addition to the primary pin functions, Tachyon also supports a host of alternative functions that are unique this platform. These are listed in the table below.
40-Pin Header GPIO Table
Pin | GPIO No. | Alternate Function 1 | Alternate Function 2 | Alternate Function 3 |
---|---|---|---|---|
1 | - | 3.3v OUT | - | - |
2 | - | 5v IN/OUT | - | - |
3 | GPIO_8 | I2C02_SDA | - | - |
4 | - | 5v IN/OUT | - | - |
5 | GPIO_9 | I2C02_SCL | - | - |
6 | - | GND | - | - |
7 | GPIO_61 | - | - | - |
8 | GPIO_34 | UART10_TXD | SPI10_CLK | - |
9 | - | GND | - | - |
10 | GPIO_35 | UART10_RXD | SPI10_CS0 | - |
11 | GPIO_33 | UART10_RTS | SPI10_MOSI | I2C10_SCL |
12 | GPIO_144 | LPI_MI2S_SCLK | SWR_TX_CLK | - |
13 | GPIO_44 | UART13_CTS | SPI13_MISO | I2C13_SDA |
14 | - | GND | - | - |
15 | GPIO_158 | SWR_TX_DATA2 | - | - |
16 | GPIO_165 | LPI_SPI2_SCLK | LPI_UART2_TXD | - |
17 | - | 3.3v OUT | - | - |
18 | GPIO_166 | LPI_SPI2_CS_0 | LPI_UART2_RXD | - |
19 | GPIO_57 | SPI16_MOSI | UART16_RTS | I2C16_SCL |
20 | - | GND | - | - |
21 | GPIO_56 | SPI16_MISO | UART16_CTS | I2C16_SDA |
22 | GPIO_24 | - | - | - |
23 | GPIO_58 | SPI16_CLK | UART16_TXD | - |
24 | GPIO_59 | SPI16_CS0 | UART16_RXD | - |
25 | - | GND | - | - |
26 | GPIO_62 | SPI16_CS1 | - | - |
27 | GPIO_36 | I2C11_SDA | SPI11_MISO | UART11_CTS |
28 | GPIO_37 | I2C11_SCL | SPI11_MOSI | UART11_RTS |
29 | GPIO_18 | UART04_TXD | SPI04_CLK | - |
30 | - | GND | - | - |
31 | GPIO_19 | UART04_RXD | SPI04_CS0 | - |
32 | GPIO_78 | PWM2 | - | - |
33 | GPIO_106 | MI2S1_SCLK | - | - |
34 | - | GND | - | - |
35 | GPIO_145 | LPI_MI2S_WS | SWR_TX_DATA0 | - |
36 | GPIO_32 | UART10_CTS | SPI10_MISO | I2C10_SDA |
37 | GPIO_6 | UART01_TXD | - | - |
38 | GPIO_146 | LPI_MI2S_DATA0 | SWR_TX_DATA1 | - |
39 | GND | - | - | - |
40 | GPIO_147 | LPI_MI2S_DATA1 | SWR_RX_CLK | - |
Here is the table in graphical format:
📢 Note: In the initial release, the IOs are fixed to a typical Raspberry Pi HAT configuration.
Simple GPIO Testing
You can test GPIO functionality via the shell using /usr/bin/gpio.sh
, a script put together by Particle to help test.
This script is also called at boot to initialize the GPIO and export them so other apps can use them. Cat this script for more info!
cat /usr/bin/gpio.sh
For example, to toggle GPIO_44 (GPIO27
on Raspberry Pi, pin 13), run:
gpio.sh set 44 out 0
Turns off GPIO 44.
gpio.sh set 44 out 1
Turns on GPIO 44.
I2C
Tachyon provides standard I2C & SPI buses accessible via Linux utilities.
To list all I2C devices, use:
i2cdetect -y -r 1
To read from an I2C device:
i2cdump -y 1 0x27
SPI (Serial Peripheral Interface)
To access SPI devices, download a tool such as spi-tools and run:
spi-tools -d /dev/spidev0.0
Qwiic Connector (a.k.a. STEMMA QT)
We’re big fans of the SparkFun Qwiic ecosystem (also known as Adafruit’s STEMMA QT) here at Particle. It’s a super convenient way to hook up sensors, displays, and other I²C devices without needing to solder or fuss with wiring. Just plug, chain, and go.
This board includes a dedicated Qwiic connector tied to its own I²C interface running at 3.3V.

Checkout some examples of using the Qwiic interface on this dedicated page here.
⚠️Power note: The Qwiic port is powered from the same 3.3V regulator that feeds other peripherals on the board. That regulator is rated for 1A total, so we recommend keeping your Qwiic chain’s current draw under ~100mA to leave enough headroom for everything else.