O'Reilly logo

Raspberry Pi For Dummies by Mike Cook, Sean McManus

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Getting Familiar with the GPIO

The Raspberry Pi was made from a BCM2835 system on a chip. Unlike traditional microprocessors, these are designed to be used in an embedded system. An embedded system has a computer inside it, but you don’t use it as a computer — things like mobile phones, media players, and set top boxes. These chips have a number of connections to them in order for the software in them to control things like push buttons, displays, and getting sound in and out. The BCM2835 has 54 such signals. They are called General Purpose Input/Output pins (GPIO) and they can be controlled by software. Some of these signals are used to build and control the peripheral devices that turn the BCM2835 into a computer, like the SD card reader, the USB, and the Ethernet. The rest are free — that is, not needed to make the Pi — so they are surplus to requirements.

Rather than just ignore them, the designers of the Raspberry Pi have routed some of these surplus GPIO lines out of the chip and to the connector called P1 on the board for us to play with. It’s a bonus. This sets the Pi apart from mainstream computers in this respect. However, they have not routed all the spare pins out to this connector. Some go to other connectors like the camera socket and some are not even connected to anything at all. This is because the BCM2835 is in a ball grid array (BGA) package with connections less than a millimeter apart. So close are they that you can only have enough room for one trace (PCB ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required