Ten essential Raspberry Pi projects
Ten projects for the Raspberry Pi that range from educational to fun via highly useful.
This is by no means an attempt at a definitive list and the term essential is somewhat subjective, but if you're stuck for something new to do with your Raspberry Pi there may be some ideas here!
1. Have fun with LEDs
LED light chaser project (© SK Pang Electronics Ltd)
For many their first Raspberry Pi hardware project will involve blinking an LED, but how about controlling 8 or 16 LEDs via a port expander IC. This will provide a gentle introduction to expanding the Raspberry Pi via the I2C bus, and if you were to use a bar graph LED array it could come in handy for more complex projects where you need to indicate the level of something such as temperature or sound etc.
2. Drive a liquid crystal display
Directly attaching a liquid crystal display to a Raspberry Pi (© Mikey Sklar, CC BY-SA 3.0)
Given the low cost and small form factor of the Raspberry Pi and that it runs Linux, it is finding use as a tiny server in applications such as a PVR, music player and NAS. What better way to extend such a setup than with a compact display that indicates what TV show is currently being recorded, music is playing or some other useful information.
There are a number of different ways that a display can be interfaced with a Raspberry Pi, and a detailed example by Mikey Sklar shows how to directly drive a 16x2 LCD.
3. Build an energy monitoring server
Emoncms (© OpenEnergyMonitor, GFDL)
The OpenEnergyMonitor project are developing “a fully open-source energy monitoring and control system that is suitable for domestic and industrial application”. Providing designs for monitoring and display hardware along with accompanying firmware and a web application for processing, logging and visualising data.
The project provide instructions for setting up the Emoncms web application on a Raspberry Pi, which makes for an ideal energy-efficient web server.
4. Automate your home
Pi-Face (© University of Manchester)
Add-on hardware such as the Pi-Face allows you to control heavier loads such as lights and motors and can be used to enable the creation of a Raspberry Pi-based home automation system. With lights and appliances [see below] being controlled remotely, according to a schedule, when certain sensors are activated, or perhaps in response to energy consumption.
[EDIT] Michael Kellett suggests that the Pi-Face may not be suitable for directly switching mains, and you should always check the voltage and current rating of equipment before use and ensure that it is suitably enclosed, earthed where neccessary and fused etc. Alternatively, Pi-Face and similar expansion boards could be used to control additional switching hardware that is rated for mains, e.g. relay, contactor or triac-based.
5. Experiment with interesting sensors
The TinkerKit Accelerometer Module
6. Join the Internet of Things
Cosm graph from a Raspberry Pi temperature logger (© Mikey Sklar, CC BY-SA 3.0)
Once you have interesting data collected from various sensors why not make your Pi part of the Internet of Things by sending it to a real-time web service such as Cosm, so that you can then view this data online and applications can consume, process and make use of it in other ways.
7. Hook up a joystick and play old arcade games
Raspberry Pi joystick wiring (© Chris Swan)
8. Hack a custom enclosure
RaspCherry Pi keyboard/case mod (© Lasse Beyer)
The Raspberry Pi is supplied without a case and this is a virtue that encourages experimentation and helps to show those new to electronics that the inside of a computer is not so scary! It also means that you get to select, create or modify your own enclosure, such as the excellent RaspCherry Pi project which fitted a Raspberry Pi and USB hub inside a PC keyboard.
9. Add a clock
A radio clock connected up to a Raspberry Pi
One way that the Raspberry Pi keeps costs down is by omitting a real-time clock, and this is fine as long as the time can be set from NTP servers on the local network or the Internet, but there may be times when you don't have access to NTP servers and still require accurate timekeeping. Under such circumstances you can fit a real-time clock that is backed by a rechargeable battery or large capacitor, and another alternative is to interface a radio clock.
10. Learn to program in assembly
Figure from Lesson 1 of Baking Pi: Operating Systems Development (© Alex Chadwick, CC BY-SA 3.0)
There's a certain cachet that goes with being able to program a computer in assembly language, but the prospect is pretty daunting if this is something you have no experience of. However, thanks to Alex Chadwick at the University of Cambridge now anyone can try their hand at programming in ARM assembly language by following a clearly written online course with plenty of examples.
Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
September 12, 2012 15:07
CommentsAdd a comment
November 7, 2015 19:29
Pretty neat post, Andrew.
There are many projects I didn't knew before, great that you mentioned them!
BTW, what do you think about my resource on raspberry pi projects ( http://howtotec.net/raspberrypi/raspber ... rry-pi-b-2 )? I did my best to cover everything in-depth, and although I’m a little biased I think it’s a lot better than what’s currently out there on the web :)
I would love if I could get feedback on it from an expert like yourself. I’m doing my best to get this in front of people who could really benefit from it, in this case your readers :)
October 17, 2013 02:11
Nice line-up. In addition to the ones on the list, a Raspberry Pi project "Call Mom Button" is another good starter.
It's a Raspberry Pi that automatically calls your mom (or anyone else specified in advance) using Plivo APIs, (sort of like a speed dial that makes an outbound call to any number, when you click on the button for the input.)
You can learn more about the project http://plivo.com/blog/raspberry-pi-project-ideas/