The Raspberry Pi Board

The Raspberry Pi is an awesome $35 dollar Linux board containing a Broadcom system on chip that integrates a 700MHz ARM11 CPU core, a very powerful GPU capable of running 1080p graphics as well as 512MBs of RAM. The Board provides two USB ports, an Ethernet port, an HDMI port as well as a 2×13 0.1″ header providing access to GPIO/I2C and SPI peripherals! for more on the Raspberry Pi board please visit: http://www.raspberrypi.org/

Figure 1. A Hi-res Image of the Raspberry Pi Board (Rev 2) http://www.raspberrypi.org/archives/1929

Figure 1. A Hi-res Image of the Raspberry Pi Board (Rev 2) http://www.raspberrypi.org/archives/1929

I will be writing a series of tutorials on developing for the Raspberry Pi in C++. In order to follow through with these tutorials you will need to have good familiarity with C/C++ and to also be somewhat familiar with Linux. The tutorial series will include the following topics:

Setup:

Development:

Peripherals:

This section lists blog entries that demonstrates how to use C++ to access the various peripherals e.g. I2C/SPI/GPIO/UART on the Raspberry Pi. I must warn you that this code is not necessarily hardened and may not be ideal for use as a “plug & play” API.  I highly recommend WiringPi for those that simply want an API to call and use in their projects.

The main objective of these examples is to demonstrate how C++ classes can be used in a simple but effective way to control the Pi’s hardware. It is also a diary of sorts for me as it gives me the opportunity to practice, develop and keep track of my “mad” C++ skills and knowledge of the hardware interfaces.