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
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
-
General-purpose input/output — Wikipedia, on what GPIO pins are and how they are used. ↩