Field Guide · hardware

Also known as: GPIO

GPIO (general-purpose input/output) are pins on a single-board computer or microcontroller that your code can read or switch on and off to talk to sensors, lights, motors, and other electronics.1

3V3 SDA SCL GND LED (out) sensor (in) power / ground I2C · SPI general I/O
A GPIO header mixes fixed power and ground pins with general-purpose I/O; some I/O pins double as dedicated bus lines (I2C's SDA/SCL, SPI), while any plain pin can be driven as an output to an LED or read as an input from a sensor.

Overview

A GPIO pin can be configured as an input (read a button or sensor) or an output (drive an LED, relay, or motor). It is the most basic form of input/output a board offers: at heart each pin is just a voltage the processor can either sense or force high or low. Code reads and writes pins through simple library calls, so blinking an LED or polling a switch is a few lines in Python, C, or Go.

Richer interfaces are often layered on top of the same header. Certain pins are wired to hardware for standard buses — I2C, SPI, UART — so instead of bit-banging a protocol by hand you can hand a whole conversation to dedicated silicon. That is why a header’s pinout matters: a given pin may be plain I/O, a bus line, or a fixed power or ground rail, and only some combinations are available at once.

Pin roles

A typical header pin falls into one of a few roles:

Pin role Purpose Example
Power Supply a fixed voltage 3.3 V, 5 V rails
Ground Return path GND pins
General I/O Read or drive a signal Button in, LED out
Bus (I2C / SPI / UART) Talk to peripherals over a protocol SDA/SCL, MOSI/MISO
PWM Timed pulses for dimming / motors LED brightness, servo

Where it fits

GPIO is the bridge between software and the physical world — it is what sets an SBC or MCU apart from a sealed PC or phone. The Raspberry Pi header and the extensive pinout of the BeagleBone are common examples; on the microcontroller side, boards like the Arduino expose the same idea. In a GopherTrunk capture node, GPIO is how the host reaches beyond the radio itself: switching an antenna relay, reading a temperature sensor in the enclosure, or wiring in a GPS pulse-per-second line for accurate timing.

Sources

  1. General-purpose input/output — Wikipedia, on what GPIO pins are and how they are used. 

See also