What is a GPIO

The simple answer to this is General Purpose Input/Output.

A more technical answer is given by Wikipedia which is

“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 as input or output—is controllable by the user at run time.”

Its hard to say when the term GPIO came into existence as terms like PIO and PPI (peripheral interface) were being used since the late 70’s, with one of these being prominent, such as the Intel 8255. It was only when performing a quick bit of research, that I realised I was working with the 8255 (PPI) and 8250 (UART) back when I was implementing a UART on a Z80 based system (a big shout out to Ingmar Meins who spend many hours working with me on that project over the phone – there was no internet back then – or nothing that resembled the Internet now)

From what I can see on the Internet, the term was being used for the last 20+ years, but with the proliferation of low cost products such as the Raspberry Pi, Arduino and BeagleBone boards, with a their focus on the I/O connectivity, a lot more people know the term GPIO.

Raspberry Pi

Pi 4 Model B / Pi 3 Model B+ / Pi 3 Model B / Pi 3 Model A+ /Pi 2 Model B / Pi Model B+ / Pi Model A+ / Pi Zero / Pi Zero W
Pi Model A & B

Arduino

And you will find many other makes and models of boards with GPIO functionality.

If you are still wondering how the GPIO is used, lets put it into simpler terms. The GPIO are pins that are not defined as inputs or outputs, they are not defined with a single function, in many cases the pins can perform multiple roles. You can also choose progmatically whether it pulls the line high in its idle state or whether the line remains low.

If you want to connect a Switch to the Raspberry Pi, you will need to set the GPIO Pin that you connect it to, as an input. To turn on an LED, they you need to configure the pin as an output.

This is where the power and flexibility is and why the GPIO is so important in interfacing to a wide range of products and solutions. You will hear the words, hats / shields, capes. These are just the names given to boards that extend the GPIO even further with additional ports, connectivity, functionality and even further interfaces (e.g. relays etc).

dsadmin
Author: dsadmin

Leave a Reply