A general-purpose input/output (GPIO) is an uncommitted digital signal pin on an integrated circuit or electronic circuit board whose behavior—including whether it acts an input or output—is controllable by the user at run time.
GPIOgeneral-purpose input/outputGPII/O pinsGPIOsbi-directional portsgeneral-purpose I/OGeneral purpose I/O pinsgeneral purpose I/OPAL
I 2 CI2CI²C
Examples of the former include the Intel 8255, which interfaces 24 GPIOs to a parallel bus, and various GPIO "expander" ICs, which interface GPIOs to serial buses such as I²C and SMBus. For example, two GPIOs may be used to implement a serial communication bus such as I²C, and four GPIOs can be used to implement an SPI bus; these are typically used to facilitate serial communication with ICs and other devices which have compatible serial interfaces, such as sensors (e.g., temperature sensors, pressure sensors, accelerometers) and motor controllers.
A particular strength of I²C is the capability of a microcontroller to control a network of device chips with just two general-purpose I/O pins and software.
Raspberry PiRaspbianRaspberry Pi 2
GPIOs are also found on embedded controller boards such as Arduino, BeagleBone and Raspberry Pi.
A Raspberry Pi Zero with smaller size and reduced input/output (I/O) and general-purpose input/output (GPIO) capabilities was released in November 2015 for US$5.
It is considered an extension of the general-purpose input/output (GPIO) concept.
Some kinds of special I/O functions can sometimes be emulated with general-purpose input/output and bit banging software.
For example, two GPIOs may be used to implement a serial communication bus such as I²C, and four GPIOs can be used to implement an SPI bus; these are typically used to facilitate serial communication with ICs and other devices which have compatible serial interfaces, such as sensors (e.g., temperature sensors, pressure sensors, accelerometers) and motor controllers.
All communications that were out-of-band of the LPC bus like general-purpose input/output (GPIO) and System Management Bus (SMBus) are tunneled through the eSPI bus via virtual wire cycles and out-of-band message cycles respectively in order to remove those pins from motherboard designs using eSPI.
Its physical size and GPIO pinout are designed to be compatible with the second-generation and later Raspberry Pi models.
Charlieplexing is a technique for driving a multiplexed display in which relatively few I/O pins on a microcontroller are used e.g. to drive an array of LEDs.
Constrained random generation in SystemVerilog
A signal with more than one driver (such as a tri-state buffer for general-purpose input/output) needs to be declared a net type such as "wire" so SystemVerilog can resolve the final value.
I/O includes three ring connectors (plus one power one ground) which accept crocodile clips or 4 mm banana plugs as well as a 23-pin edge connector with two or three PWM outputs, six to 17 GPIO pins (depending on configuration), six analog inputs, serial I/O, SPI, and I²C.
STM32 WSTM32F1xx, STM32F2xx, STM32F3xx, STM32F4xx, STM32L1xx, STM32F0xxSTMicroelectronics STM32 microcontroller
The protocol allows endpoints (such as public address speakers) to autonomously announce their presence and capabilities (such as recording or GPIO) and configure themselves to play audio broadcasts.
In addition to basic digital input/output and analog input, the IOIO library also handles PWM, I2C, SPI, UART, Input capture, Capacitive sensing and advanced motor control.
OdroidODROID-XUHardkernel ODROID-XU3 & ODROID-XU4
Lower level output is provided by a number of general-purpose input/output (GPIO) pins which support common protocols like I²C.
Each GPIO port on a tiny or mega AVR drives up to eight pins and is controlled by three 8-bit registers: DDRx, PORTx and PINx, where x is the port identifier.
OLinuXino A10Olimex Lime
It includes WiFi (2.4 GHz 802.11 b/g/n), Ethernet (10/100 Mb/s x2), USB 2.0 (up to 480M) and 28 GPIO (reused).
CHIP computerCHIPNext Thing Co.
Wireless sensor network nodesIRIS
general-purpose input/output (GPIO) pins.
The IO-204 has four GPIO channels.
shift registershift registersCirculating Memory
SIPO registers are commonly attached to the output of microprocessors when more General Purpose Input/Output pins are required than are available.