Many months ago I learned about the Raspberry Pi hobbyist computer. Apparently it was created to provide an inexpensive system that kids could use to learn programming. At $35US it really hits the mark.
I understand their goals well; I had access to micro computers in High School back in the late 70’s, at home at about the same time and in college as well. The reason I’m a computer developer is because I was able to be one so early in life and it definitely stuck. My first computer was a Ti Ti-99-4a and the second was a tricked out Apple //e that I kept for many, many years. I spent a ton of time writing code for those boxes and that quite possibly have something to do with why it took me so long to get married. That’s a story for another time.
Anyway, I was excited about the potential for the Pi, so I ordered one and it sat in a box for a while. My 9 year old son and I got a chance to hook it up yesterday afternoon and had a blast. If you haven’t seen one before, here’s a picture.
Essentially it’s a mini-PC with an ARM processor, HDMI port, Ethernet Port, two USB ports and some more stuff. It runs on a cell phone charger (I’m using a BlackBerry charger in the photo). You burn a special version of Linux to an appropriately sized (2GB minimum) SD card, plug everything in and you’re ready to go.
When it fires up, you get the standard linux command prompt and can interact with the device through the command prompt or you can start an X-Windows UI environment. The default Raspberry Pi Linux image (Raspbian – a Raspberry Pi version of Debian) has a bunch of software included, including some Integrated Development Environments (IDE) for Python (the Pi in the Raspberry Pi name) and Scratch (a drag and drop development environment for kids).
I’m not going to go into all of the details here, there’s some good books on the subject (I’ve read two) and a bunch of information available online. It’s really easy to setup and to use. Knowing a little bit about Linux makes it a little easier, but not much. My son and I fired up the Scratch IDE and using an example from the O’Reilly book on the subject created an alien shooter game in an hour and had a blast doing so. My son’s learning a little bit about computer programming, we’ve already added some enhancements to game and have more planned. Here’s a picture of my son working on the latest version of his game.
I ordered a few 8 GB SD cards yesterday. I’m going to set one up for my daughter so she can work with Scratch in her own environment. I have a 32 GB card I’m going to use as my personal playground – along with the default debian distro, there are Fedora and other Linux distributions available for the Pi, so I’m going to give them a try.
There’s also a XBMC Media Center distro for the Pi (http://wiki.xbmc.org/index.php?title=Raspberry_Pi) that I’m going to download and play with. I’m a HUGE fan of the Sonos players, but I’m going to see if I can setup the Pi in my living room and pull my (legally obtained) music from my Windows server. I’ll probably write about that here later.
Next on my list of things to play with is the Arduino, an open source, programmable microcontroller. I’m not much of an electronics guy, but I truly want to be one. I imagine a programmed microcontroller in a pumpkin sitting on my front porch at Halloween. Also, my son and I have some interesting ideas about what we want to do with his Pinewood Derby car next year.
A neighbor geek like me recently told me about the TI MSP430 micro controllers that compete with the Arduino device. At less than $5 per device I’ve ordered some of them and I’m going to play around with them (with my son of course) when they get here.
What this means, of course, is that I now have more to write about here. What fun!