If you are using an Ad Blocking Browser Extension
please consider deactivating it for this website. Also see our Ads Policy.
The Raspberry Pi is equipped with a set of input/output or GPIO (general-purpose input/output) pins. This powerful feature significantly expands the Raspberry Pi’s abilities to communicate with other devices. These pins are connected directly the to CPU of the Raspberry Pi.
This is an ongoing post. Please suggest corrections, explanations, etc. in the comment section at the bottom of this page.
The newer Raspberry Model B, including the Raspberry Pi 2 & 3 have a total of 40 GOI pins, while the older Model A boards have a total of 26 pins. The Raspberry Pi Zero and Raspberry Pi Zero W has 40 unpopulated/headerless pins (holes). Pins are aligned as two equal rows (i.e. 2x 20 or 2x 13).
The pins include 5V (2), 3.3V (2), ground (5 for A & 8 for B) and a few other pins mentioned below. Apart from sensing high and low signals, some of the GPIO pins also doubles for other functions.
Through, for example, Linux Bash and Python programming, complex logic to and from these pins can be programmed to interact with various microelectronic components such as LEDs, switches, buttons, communication and display modules. The networking capabilities and the control of various USB devices makes the possibilities almost endless.
Raspberry Pi GPIO specifications
Operating voltage (logic level): 3.3V DC Input voltage: 5V DC Power source: 5V via Micro-B or GPIO I/O pins Digital I/O (read/write) pins: 22 Interrupt pins: all Analog input pins: Operating current (per I/O pin): ~8 mA (15 mA max) (50 mA max all) Interfaces: Serial/UART (GPIO 14 & 15), SPI, I2C Breadboard friendly: na Pin size: male, 5 x 2.54 mm
Raspberry Pi model B GPIO pinout
A GPIO pin designated as an output pin can be set to HIGH (3.3V) or LOW (0V).
A GPIO pin designated as an input pin can be read as HIGH (3.3V) or LOW (0V). This is made easier with the use of internal pull-up or pull-down resistors. Pins GPIO2 and GPIO3 have fixed pull-up resistors, but for other pins this can be configured in software.
On the Raspberry Pi, each GPIO pin can also be configured as an interrupt pin.
The Raspberry Pi is capable of serial communication with other devices. Tx (GPIO14) and Rx (GPIO15) pins uses 0 and 3.3 V TTL (transistor-transistor logic) to produce its signal. Also read using the UART interface for more advanced information on how to set up serial communication on the Raspberry Pi.
Disqus is a worldwide comment hosting service for web sites and online communities. This secure platform ensures a pleasant commenting environment which is manageable from one account. Use the Login button to sign up.
With a plethora of mini media centre boxes becoming readily available, it comes as no surprise that open source platforms are also available for this purpose. Kodi is one such platform and it is available to be installed onto a Raspberry Pi. More…
There are a couple of good reasons why someone in South Africa would want to use their PayPal account to pay for online goods. Whether you have it linked to your South African credit card, or you have some spare bucks hanging around in it, here are some online South African stores that will be happy to take your hard-earned money. More…
What is a media centre without remote control? Fortunately, Kodi can be configured with various types of remote controls. This post explores all the remote control options available and show how to to connect and map them in Kodi. More…
Bitbucket is a great alternative to Github to start, store and track simple programming dependant project files. On a Raspberry Pi it can be simply done using Raspbian. In addition to Github, projects uploaded to Bitbucket with less than 6 contributors can be kept private and won’t cost a cent. More…
Whether it is for debugging purposes, making images for tutorials or capturing a moment in a game, screenshots (screengrabs or screen captures) often come in handy. Most operating systems, including Raspbian, will have options to create screenshots by using the keyboard, but what if no keyboard is connected? More…