Ten essential Raspberry Pi projects
34103 views
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
Once you've had your fill of experimenting with simple heat and light etc. sensors why not progress to interfacing a 3-axis accelerometer or ultrasonic rangefinder.
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)
Take time out from more demanding projects and relive the early days of gaming by creating a Raspberry Pi Arcade and wiring up up a joystick to GPIO.
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.
2 comments
Like this
Posted by krystal92586 at
This is a great list! I'm 11 years old and I blog about my adventures with my new Raspberry Pi. I'm going to try some of these. Follow my projects at http://raspberrypikid.wordpress.com
Krystal
Posted by dr.tube at
Hello there,
I'm just a newbee here, though getting along nicely making my own library for vacuum tubes. I'll share it ofcourse when it is done.
So now I'm quite busy with the symbol editor, and I find it confusing thet the cursor doesn't change along with the "mode" you're in. Let me explain, the cursor is usually a plain normal windows arrow. It would be very handy that it would change automatically to a crosshair cross when drawing lines, polygons etc and change back to the normal windows arrow when done. This will give a very quick visual indication what you are going to do when you click the left mouse button. This cursor behaviour is quite normal with Photoshop etc. kind of programs and I think it would be really handy in the symbol editor too.
I have found that the status bar at the right bottom gives an indication of what you are doing, but you have to look there every time. The Toolbar on the left also doesn't give any visual feedback on which mode/button (line draw or polygone etc...) is active. I feel the symbol editor would be quite improved if these features would be present.
I have also found the cursor can be globally changed to a large cross or a small cross but that doesn't change the fact that you can't see from looking at the cursor what is going to happen next...
Any chance of the developers picking this up?
Thanx in advance
Kind regards
Xavier van Unen MScEE