During my time with the Pi I’ve experimented with various devices and sensors. Here is my Top 10 list of devices to connect to the Raspberry Pi. In most cases they are very cheap and easy to interface and are great building blocks for more complicated future projects. I’ve included links to more detailed posts where I can and many of these include example Python scripts to help you get going.
From robot cars to security systems there are plenty of ways of combining these mini-projects into some amazing creations! If you need to buy a present for a Pi owner then these are good starting point.
Ultrasonic transducer modules are an easy way to add distance measuring capability to your Pi. The device shown in the photo has 2 power pins, 1 trigger pin and 1 echo pin.
Take a look at my “Ultrasonic Distance Measurement Using Python” posts to see how you can connect one to the GPIO header and read it via a simple Python script.
PIR Movement Sensor
Simple “Passive Infra-Red” sensors allow you to detect movement. The sensors I found on eBay only cost a few pounds. They have three pins which can be connected directly to the Raspberry Pi’s GPIO header. These are great for security systems or robotic sensors.
An example python script can be found on the “Cheap PIR Sensors and the Raspberry Pi” page.
This was one of the first bits of hardware I attempted to control from the GPIO. The stepper motor came with a controller board which interfaced directly with the GPIO. You feed the device a sequence of inputs and it turns the motor.
Instructions and some example Python can be found on my Stepper Motor Control In Python page.
16×2 or 20×4 Character LCD Display
16 or 20 character LCD displays are cheap to buy and easy to hook up to the GPIO pins on the Pi. I wrote articles about the 16×2 LCD and 20×4 LCD screens both of which I got from eBay. It doesn’t matter which device you get as long as it is compatible with the “Hitachi HD44780″ LCD controller. Luckily most are based on this very common controller.
With the addition of some basic components you can also adjust the brightness or turn the screen on and off.
USB to Serial Module
A USB to Serial device allows your Pi to communicate over a USB interface. The USB end can be plugged into a PC, Laptop or tablet and the pins can be connected to GPIO pins 8 and 10.
These pins are configured as a serial terminal interface by default and allow you to access the Linux command line from your PC or tablet. It is even possible to power the Pi from the host device if its USB port can supply enough power!
USB WiFi Dongle
WiFi dongles are fairly cheap and a great way to connect your Pi to a network without cables. The Edimax 7811 is a popular choice and is easy to configure using the WiFi utility included with the latest Raspbian image. [Buy on Amazon]
I’ve also used an Edimax 7711 dongle. [Buy on Amazon]
Mini LCD Screen
There are plenty of small screens available that accept a composite video input. Perfect for hooking up to the Raspberry Pi’s video output. Most of these screens are sold as car reversing camera screens, are powered from 12V and often have two video inputs available.
BerryClip 6 LED Buzzer Board
The BerryClip is an addon board for the Pi which plugs directly onto the GPIO header. It provides 6 coloured LEDs, 1 buzzer and 1 momentary switch. These can be controlled using whatever language you prefer but there are lots of example Python scripts to try.
For more details visit the BerryClip page on this site.
USB Bluetooth Dongle
Bluetooth dongles are cheap and are readily available on the high street or online. I have successfully used a “Origo” branded device and a Tesco “Technika” Nano Bluetooth Adapter. The Tesco dongle cost £5 and isn’t much bigger than the USB plug itself.
A dongle allows you to connect various Bluetooth enabled devices such as keyboards, mice and Wii Controllers.
Nintendo Wii Controller
If you’ve got a Nintendo Wii then it is worth taking a look at my “Nintendo Wii Remote, Python and The Raspberry Pi” page. This explains how you can connect a Wiimote to your Pi and read the status of its buttons in Python. This opens up a whole world of remote control projects.
The YouTube video created by RasPi.TV gives you a taster of the possibilities!