Raspberry Pi: what can you create with a credit-card sized computer?

By Luke Tymowski, Systems Administrator, Calgary

The Raspberry Pi is a credit card-sized, fully functional computer designed for schools. It runs a Debian-based Linux distribution, but you can also use Arch Linux, FreeBSD, or NetBSD. The Pi can be used to surf the web, build a weather station, or you can gather a handful and build an HPC cluster. Sound interesting?

Eben Upton, the founder of the Raspberry Pi foundation (a non-profit created to build the Pi), wanted to build a computer that could cheaply equip a school computer lab, using open source software. At $35 per device, he achieved his goal. While the original audience was schools, the tech community quickly embraced the Pi, making it a big success. (A cheaper version of the Pi, the Model A, costs $25. The Model B includes two USB ports [Model A has one], a network port [Model A has none], and includes 512MB of RAM [Model A has 256MB]).

A SoC (System on a Chip) powers the Pi. What appears to be one big chip is actually two: the Broadcom BCM2835 (containing an ARM-based CPU running at 700Mhz); and a Videocore 4 GPU, which is capable of displaying 1080p video. System RAM is also contained within the SoC, so you can't upgrade the Model B Pi beyond the 512MB of RAM with which it ships. System RAM is shared with video, but you can configure the memory split (if you're not doing much video, you can dedicate most or all of the RAM to the OS).

To boot the Pi, you need to install the OS on an SD card, with support for 2GB through 32GB cards. Larger SD cards are available, but they haven't been tested yet. A 2GB card is sufficient to boot the Pi, but if you intend to add applications or store more than token data, you'll need to start with at least a 4GB card. (I'm using the fastest 16GB card I could find, which in Calgary costs about $25.)

England, where the Raspberry Pi foundation is based, has a history of computer companies named after fruits and nuts (the American Apple Computers notwithstanding). The country has produced the Orange Micro, the Apricot, and the Acorn (that I know of). Hence the name Raspberry. The Pi refers to Python, a scripting language created to enable users to easily learn how to program. You can also install Ruby or Perl though the Raspbian OS's packages (it's based on Debian Wheezy). And you can compile Go if you're patient (it takes roughly an hour on a Model B, compared with three to four minutes on a modern laptop).

My favourite Rapsberry Pi project is the one created by Professor Simon Cox of the University of Southampton, UK. He and his six year-old son used 64 Raspberry Pis and Lego to create an HPC cluster. While it won't set any computational records, it's a very cheap and effective way to teach HPC programming.

Over the winter break, several Cybera staff found themselves with Raspberry Pi Model Bs. One or two have very ambitious plans for theirs! We'll post an update once those plans make it into production.