Microcontrollers are, in general, very good for controlling I/O and handling signals quickly. However, they often lack in CPU power, RAM, and software functionality. The Raspberry Pi is a single board computer that combines the power of a PC with the I/O strengths of a microcontroller.
While the Raspberry Pi is not as fast with I/O as a microcontroller nor as powerful as a mainstream PC, it provides a very capable platform, allowing users to create complex computer programs that can easily interface with hardware using commonly used languages such as Python, Java, and C++.
Fundamentals of the Raspberry Pi
The Raspberry Pi is not a single specific computer. Rather, it is a family of single board computers (SBC). Each SBC has different properties and capabilities.
The first iteration of Raspberry Pi — the model 1 A — had a single-core ARM processor, 256MB RAM, 1 USB port, composite video out, HDMI output, and no networking capabilities. The latest model, the Raspberry Pi 3 model B, contains a quad-core processor, 1GB RAM, four USB ports, ethernet, in-built Wi-Fi, and a 40-pin header for controlling external circuits.
With so many different Pi computers available, it can be a daunting task to choose the best one for a project. If you are new to the Raspberry Pi, it’s best to go for the most feature-filled version as it will allow you to do the largest variety of projects. The Raspberry Pi 3 Model B provides networking, a decent CPU, and plenty of GPIO. Projects that do not require networking but require display and GPIO work well with the cheaper Raspberry Pi 1 range while projects that only require a minimal system can use the Raspberry Pi Zero.
Projects come in all shapes and sizes, so it is hard to list the application for every different Raspberry Pi. To make things easier, let’s look at a table listing all the main computers, their specs, basic cost, and the advantages and disadvantages of some of them.
From this point on, all examples and guides will be considering the Raspberry Pi 3 Model B as it is the most versatile computer.
Once your Raspberry Pi is chosen it’s important to learn a few things about it, starting with a look at the different parts on the PCB and what each part does.
Parts of the Raspberry Pi
GPIO is arguably the most important feature of the Raspberry Pi and is the equivalent of GPIO pins on the Arduino. These pins can be used in programs to read electrical signals from circuits as well as provide electrical signals for controlling circuits. Be very careful when using GPIO as they are easily damaged and use 3.3V logic. If you intend to control external devices that draw more than 20mA current, you should use a driver circuit (see 3.3 connecting I/O). This includes devices such as relays, inductors, and high brightness LEDs.
DSI Display Port
The DSI display port allows the Raspberry Pi to connect to a serial display similar to those used in tablets. Such display modules are available with touch controls and in common sizes such as 7 inches.
CSI Camera Port
The CSI camera port is a connector that allows the Raspberry Pi to connect to a Raspberry Pi camera module. Generic web cameras will not work as they commonly have only a USB connector.
This slot is used to house the microSD card that holds the Raspberry Pi operating system. The microSD card does not come with the Pi. This SD card also holds all files, folders, documents, and pictures created by the user. It is essentially the hard drive of the computer.
HDMI / USB / Network
These slots are used to connect the Pi to an HDMI screen, USB devices such as mice and keyboards, and to an ethernet connection for internet access. However, the Raspberry Pi 3 comes with integrated Wi-Fi so there is often no need for the ethernet connector.
Micro USB Power
Power to the Raspberry Pi can be provided using either a micro USB lead to the micro USB connector (recommended) or 5V can be directly fed into the 5V GPIO pin.
Now that you’re familiar with the parts that make up the Raspberry Pi, you may find that when powered up, your Raspberry Pi does absolutely nothing. This is because we need to get an operating system onto it first! In the next article, I'll cover how to install Raspbian, Raspberry Pi’s most popular OS, onto a microSD card.