The Raspberry Pi is an inexpensive credit-card-sized Single-Board Computer (SBC), which has tremendous learning (and play!) potential. And it runs Linux, so promotes Open Source Software!
While the size is small, its impact is large: in less than one year, from first introduction March 2012 through January 2013, ONE MILLION Raspberry Pi’s were sold!
There are two models: $25 Model A (with 256 MBytes RAM, one USB port, no Ethernet) and $35 Model B (512 MBytes RAM, 2 USB ports, and 10/100 Mbps wired Ethernet). Model B is shown below:
This computer was developed by the non-profit (charity) UK-based Raspberry Pi Foundation. You can read more about its genesis here: http://www.raspberrypi.org/about. And this Wikipedia article also has more information: http://en.wikipedia.org/wiki/Raspberry_Pi.
While the name may sound tasty, here is the reason for its name (as reported here): “In the early days of Home Micros, there were a number of “Fruit” named computers. Apart from Apple, Apricot and Tangerine spring to mind. Pi is said to be derived from the programming language Python, which was an early runner in suggestions for a suitable “official” language for the Raspberry.”
Beyond the Raspberry Pi board for $35, you only need a few additional items to create a useful computer, and hopefully you have some of these already:
- SD Card (such as used in Digital Cameras)
- HDMI Monitor/TV (and HDMI cable)
- USB Keyboard and USB Mouse (can also use USB wireless keyboard and/or mouse)
- micro USB power supply (as used by many smartphones)
- optional ethernet (network) cable
- optional case
So, here was my first setup of my Raspberry Pi (shown circled in red on the right), and dwarfed by the 32″ TV:
The Raspberry Pi runs Linux! Specifically, the Raspbian Operating System is based on Debian optimized for the Raspberry Pi hardware. You can download Raspbian for free here, with much more information on the www.raspbian.org website. The Raspberry Pi runs LXDE (“Lightweight X11 Desktop Environment”) as its graphical user interface (GUI) or “window manager”. Here is what the LXDE desktop might look like (click for full-size actual resolution of 1824×984 pixels):
The FAQ page recommends purchasing the Raspberry Pi (for those in the USA) from Allied Electronics but reported as out-of-stock with a 6 week wait, so instead I purchased my Raspberry Pi Model B from Amazon (for less than $47 including free shipping).
One of the interesting characteristics of the Raspberry Pi is that it runs from an SD card (just like you would find in a Digital Camera or Smartphone), and not from a hard drive (although you could install one via USB). The huge benefit of an SD card is that it allows changing the computer’s “personality” simply by swapping SD cards! In fact, the first step in this Raspberry Pi Quick Start Guide is to insert the SD Card. Pages 2 through 4 will tell you what you need, and how to setup your bootable SD card. Another useful startup guide can be found here, including the section “Booting Your Pi for the First Time”.
What can the Raspberry Pi do? Here are some ideas:
- As intended, it is a phenomenal learning environment for those who wish to learn hands-on how computers really work, including programming in various languages, including Python and C.
- For those who would like to learn more about electronics, especially computer-interfacing, the Raspberry Pi will be really great. Back when I was soldering electronics for hardware-generated true (not pseudo) random bits for cryptography, using my RANGER Device interfaced to a PC’s Centronics parallel port, it would have been nice to have a Raspberry Pi! Worth noting that the RANGER Device was all 5 Volt TTL (Transistor–transistor logic) and the Raspberry Pi uses 3.3 Volt CMOS (Complementary metal–oxide–semiconductor). More information on interfacing TTL to CMOS can be found here.
- For those who want to learn how amazing Linux is, and perhaps “be root” on their first Linux server
- For surfing the Web, there are several browsers available including Google’s Chromium (“sudo apt-get install chromium-browser”). While may be a bit “heavy” for the Raspberry Pi, being able to run multiple tabs in the browser while also being able to run extensions like “Session Buddy” is very pleasant and familiar.
- You could make your own $35 Apache web server. Another set of instructions is here.
- Or, put another way, an inexpensive way to learn LAMP. LAMP is an acronym for Linux (operating system), Apache HTTP Server, MySQL (database software), and the programming languages: PHP, Perl or Python, as the main components of millions of the world’s web servers.
- Download and Play a variety of computer games, including Minecraft (Pi edition)! Also consider downloading “Beneath a Steel Sky“
- Build your own media server or NAS (Network Attached Storage)
- More ideas can be found on various web pages through a Google Search, including this one by Ars Technica: “10 Raspberry Pi creations that show how amazing the tiny PC can be”.
First thing I would do on first boot of a Raspberry Pi, install the “The Ace of Penguins” solitaire games including freecell by DJ Delori, most easily installed via the command “sudo apt-get install ace-of-penguins”.
Here are the hardware specs of the Model B:
- 700 MHz ARM11 32-bit RISC CPU
- 512 MBytes RAM
- GPU (Graphics Processing Unit) capable of 1080p video at 30 frames per second.
- SD card (for Booting, Operating System, Program, and your files). The smallest would be 2 GB Class 4 (speed), but you might want to consider a larger SD card such as this 32GB SDHC card from Amazon, a larger 32 GB and faster (class 10) SD card, costs only a few dollars more.
- 2 USB ports (via integrated USB hub), you can also use an external USB hub to expand further. I use a Belkin F5U403 Hi-Speed USB 2.0 4-Port Lighted Hub which I got from Amazon for only $11
- Audio output via a 3.5 mm audio jack or HDMI
- General Purpose Input/Output (GPIO) pins, Serial Peripheral Interface (SPI) Bus
- 5 V (DC) via Micro USB connector (you can use typical phone charger)
- 10/100 wired Ethernet RJ45. But if you want to add wireless networking, this website has a list of Wifi USB dongles which have been tested to work. I have successfully used the Belkin F9L1001 USB WiFi with my Raspberry Pi, as the notes say on that page, will work with powered or unpowered USB hub (not true for all other options).
Noticeably absent is a Real-Time Clock (RTC), but this is no problem, since Linux can easily run NTP (Network Time Protocol). In the context of NTP, this is an interesting article “The Raspberry-Pi as a Stratum-1 NTP Server“.
I saw a very wide variety of Raspberry Pi cases shown on the Internet, from manufacturers all around the world. I was initially drawn to the Raspberry Pi cases which were made of Lego blocks (fond memories of childhood), but I wanted to be able to see the five LED’s (possibly via Light Pipes), and to have the various ports labelled. Having the option of a slot for the GPIO cable would be a plus. I finally decided on the “black box” approach from “Built to Spec”. At $12.50 (plus shipping) it is one of the least expensive options for a professionally made Raspberry Pi case. The assembly instructions are here. Once you get all the pieces together, you probably won’t want to take it apart, as the six pieces of plasic are held together by the four bolts, and it’s kind of all-or-nothing. A two-part case might be more desirable if you intend to do a bunch of hands-on electronics and frequently want to work inside the case. Other reviews of the Built-to-Spec case can be found here and here.
Once you have started using your Raspberry Pi, don’t forget to periodically back up your SD card. You can use the same Win32DiskImager software, but this time we READ from the SD card and write the image to the PC hard drive. The only trick is that you need to type in the filename and then click the “Read” button. Also, these images are uncompressed, so you need as much disk space as the capacity of the SD card (e.g. 16 GBytes) even if most of the card is empty. Backing up your SD card is particularly important because there can be “memory wear” inside the SD card (after as little as 10,000 – 100,000 program-erase cycles), which can ultimately result in corrupted data, the inability of your Raspberry Pi to boot, and possible loss of all your data. You should backup your SD card. If you run your Raspberry Pi 24 hours a day, one write per minute would be over half a million writes per year. It leads me to believe the reports I have read on the Internet that a heavily used Raspberry Pi can have its SD card fail in as little as three months.
Want to learn more about the Raspberry Pi? You know a topic is “mainstream” when it has its own 412-page Dummies book! Google Books has “Raspberry Pi For Dummies online here” by Sean McManus, Mike Cook. Or, if you want your own paper copy of this book, you can buy it from Amazon here.
There is also a FREE monthly magazine dedicated to the Raspbery Pi, with much interesting information, and ideas for exciting projects, here is the list published so far: