Mar 222018

OpenCV is an open-source framework for computer vision. It’s used for self-driving cars, surveillance, CCTV, traffic flow measurement, autonomous robots, license plate recognition, gesture recognition, and just about any other application where a computer needs to “see”.

You’ll have seen OpenCV in action whenever you’ve watched a surveillance scene in a film or documentary showing boxes being automatically drawn around moving people or cars on a computer screen.

OpenCV 3.3.0 runs well on a Raspberry Pi 3 using either the Pi camera module, USB webcam or USB video grabber and CCTV camera. Our examples run in Python 3. We have different code examples for the Pi camera and USB webcam/video grabber.

Here’s face recognition running on a Raspberry Pi 3 with the Raspberry Pi NoIR camera module

And here’s my CCTV system hooked up to the Raspberry Pi using a USB video grabber

This script looks for movement in the right of the image and saves time and date stamped photos of intruders to the Raspberry Pi’s micro SD card.

It would be quite easy to have it email the photo to you also.

There’s a full PDF guide with download links for our Python scripts here:

Here’s what each script does: – shows a live feed from the Pi camera on your Desktop – displays a box around any face found in the Pi camera feed – as above but records time stamped photos to SD card too. – Uses Mog2 background subtractor, takes a photo of large items on the left. – as above but with erosion and dilation filters too.

Also similar examples for USB webcam or USB video grabber, without the picam titles: – shows live vide feed from USB webcam or USB video grabber. – finds faces in the video feed and draws a box around them. – Uses Mog2 background subtractor to find intruders and cars on our CCTV camera.

By comparing and you can see exactly how to modify other OpenCV Python scripts for use with Raspberry Pi camera or USB webcam.


You can buy the OpenCV3 compatible USB video grabber we used, that will let you attach any video device with a composite output to your Pi, here:

Nov 242017

We’ve recently had some PCBs made that allow you to attach a PIR movement sensor, buzzer, and magnetic door sensor to your micro:bit.

The PIR movement sensor is wired to pin 0 on the micro:bit, the magnetic door sensor contacts connect to pin 1, and the buzzer is wired to pin 2.

You can use the board as the basis for lots of different projects. You can make several micro:bit alarm boards talk to each other using the Radio function. You can attach the micro:bit to your PC or Mac and use Thonny/Python3 to read serial line messages from the micro:bit and send an email to your phone whenever the sensors are triggered or write events to a log file. The PDF manual contains examples of both.

Our PDF manual for the Alarm Board can be downloaded from

You can buy a ready-assembled board with the PIR sensor, magnetic door contacts and 3 metres of cable from Amazon for £13.99

Here’s what the Thonny/Python3 code looks like running on a Windows 7 PC. This code reads “Serial Line” messages from the micro:bit’s USB port and stores the time and date of alarm triggers in a log file. Read our PDF manual to see more examples.

We can also supply the Alarm Board in a self-assembly kit that you solder together yourself for £7.95

The PIR modules we supply have been modified to work at 3 volts (there’s a page explaining how to do that in our PDF manual).

Jul 112017

The Senior Guardian project uses a PIR motion sensor to discretely keep an eye on an older vulnerable relative who lives alone.

Each time a person walks past the PIR sensor it adds one to the number of movements detected that hour. It stores the number of movements detected each hour in a Python list and can send an email to your PC or phone that looks like this:

If you didn’t see any PIR detections at times you’d normally expect them to be up & around, then you could call them up to check everything’s okay or get a neighbour to check on them.

The PIR sensor attaches on GPIO pin 4 and is wired up like this:

or you could use one of our PIR Adapter Clips if you don’t want to use cables.

This version of the Python script ( emails a copy of today’s log to two different email addresses once an hour (there are other variations in our download)

Download our free PDF Guide : Senior Guardian PDF guide

Download the Senior Guardian scripts direct to your Pi with


Buy a PIR with Cables and GPIO pin card £3

Buy a PIR Alarm kit for Raspberry Pi £11.99

Jun 282017

In our previous post we showed you how to use a Raspberry Pi and a USB audio adapter to make a MAX9812 room mic that can listen out for commands and read out the news, share prices, weather, time and turn an LED on or off. This is basically the same thing, but with the mic wired directly to the CHIP’s Mic in port.

The software listens out for the keyword “Oscar”. Once it hears the keyword it then listens out for the words “News, Weather, Shares, Light On, Light Off or Time”.

If you want to control an LED using the “Light On” or “Light Off” commands, then you need to wire this up too:

The full PDF instructions (2 pages A4)

Software ZIP file

You can buy a £9.99 kit of the Mic, breadboard, cables and components at (we ship worldwide)

Jun 192017

Plug in a USB microphone

Increase mic volume for USB device to full using


Screenshot - 150617 - 11:14:09

(F6 to change to USB device and arrow keys move across to Mic and up arrow increases volume to full, Esc to quit)

Make a test recording:

arecord -D plughw:1,0 -f S16_LE test.wav

CTRL-C to quit

aplay test.wav

Sign up to Google cloud platform for free


Google Cloud Speech API -> go to Credenitials tab -> Create Credentials -> API Key -> cut and paste your API key for use in later

sudo apt-get install mplayer

sudo apt-get install sox

sudo apt-get install flac

sudo apt-get install python-pycurl

sudo apt-get install python-pip

sudo pip install feedparser

sudo pip install yahoo-finance

search for stock/share symbols at and edit to suit.
while in folder /home/pi pull ZIP file from our server with



chmod a+x

edit so it contains your Google Cloud Speech API key


save it and exit

run it while connected to the internet


say the trigger word “oscar”, wait for a beep, and then say either “news, weather, shares, time, light on, light off, flatter me”

(light on & light off control a red LED with a 220 ohm resistor connected to GPIO4 and GND pins)

You can make a really good room mic, with 15 feet range, using a USB audio adapter and a MAX9812 amplified microphone (cost about £5 for both items on eBay)


You can download our 3D print case design from


Use a hot-glue gun to secure the boards in place.

With thanks to these web pages:

May 152017

Home Automation and Security projects book for Raspberry Pi


Our latest ebook is now available to download instantly in PDF format from and as a Kindle eBook from Amazon at

You can download a Sample PDF


Chapter 1 – Wireless Doorbell project for under £20/$25.
We show you how to receive signals from a Lloytron MIP wireless doorbell push on your Pi, and have your Pi take a photo from a Raspberry Pi camera module, time & date stamp it, and email it to your phone. We also show you how to play a custom MP3 door chime sample when the doorbell is pressed – your doorbell can now be any MP3 sound you like. Also works with Lloytron MIP wireless door sensors, wireless PIRs and other generic wireless driveway alarms. We also show you how to take pictures from USB webcams, USB video capture devices, scan for Bluetooth & WiFi MAC addresses when the doorbell is pushed or sensor triggered.

Chapter 2 – Reverse-engineer 433MHz & 315MHz wireless gadgets using £10/$12 of hardware.
Learn how to receive/clone codes from remote controls and re-transmit signals to wireless remote control mains sockets, relays and light switches that operate at 433.92MHz (Europe) or 315MHz (North America) AM and use Manchester/OOK encoding using your Pi. Learn codes and then turn lights, relays and power sockets on and off at set times using Python. Control lights, relays, and power sockets from a web page on your phone or tablet. We also include a Python script that can capture a wireless code & replay it, or replay a different code with the same timing values, or a range of codes. (no more time wasted messing about with Audacity, Inspectrum, RTL-SDR, Baudline and GNU Radio).

Chapter 3 – How to control hardware from a web browser.
Learn how to use Apache web server on your Pi to interact with a web page on your phone. Contains Javascript/CGI and PHP examples. Turn an LED on and off from anywhere using two buttons on your phone’s web browser. Turn remote control mains sockets, lights and relays on and off from anywhere using buttons on your phone’s web browser.

Chapter 4 – Working with CCTV audio on your Pi.
Learn how to stream high quality CCTV audio from one place to another. We show you the best hardware to use.

Chapter 5 – Make a pan and tilt CCTV mount for your Raspberry Pi camera for around £12/$15.
We show you how to control two SG90 mini servos and a pan tilt bracket from your Raspberry Pi. Control the camera using graphical buttons and sliders on your Pi’s desktop. Stream video to VLC media player at remote location and control camera via SSH. Stream video to a remote web browser and remote control pan and tilt from same web browser window.

Mar 212017


To make this security camera project you’ll need:

  • Raspberry Pi Zero W
  • Raspberry Pi camera module
  • SG90 micro servo
  • Micro SD card with latest Raspbian Jessie
  • 3D printed bracket and base
  • 8x Nylon M2 nuts and bolts
  • 20x 2p coins to weight the base down

The STL files to print the brackets are at


and you can edit the original files at:


Before attaching the Raspberry Pi and camera to the 3D printed parts, it’s a good idea to do the following at the Desktop -> Preferences ->Raspberry Pi Configuration:

  • Enable SSH
  • Change passwords for Pi and Root users to something secure and hard to guess.
  • Enable the camera
  • Boot to CLI

Reboot the Pi and login to the terminal

sudo iwlist wlan0 scan

will show WiFi routers near your Pi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

and add these lines at the bottom, using your routers SSID name and password


Save the file, exit and reboot your Pi. It should now auto-attach to your wireless network when it boots up.

The servo wires can be soldered directly in place, or use a Pimoroni GPIO hammer header and cables instead.


Assemble all the parts together

We’re using the open-source ServoBlaster code to control the servo from the BASH command line.

We install it like this:

mkdir twistcam

cd twistcam






make servod

sudo ./servod

Then test it’s working with:

echo 5=50% > /dev/servoblaster

echo 5=10% > /dev/servoblaster

echo 5=90% > /dev/servoblaster

The commands above move servo number 5 (Pan left & right) on GPIO23 between centre (50%),
left (10%) & right (90%) positions

Setup Video Streaming to a web browser.

On your Raspberry Pi, while in the twistcam folder we made earlier:

sudo apt-get install libav-tools git python3-picamera python3-ws4py

Download the zip file with:



chmod a+x *.sh


Then go to another PC on your network and open a web browser to:



And you should be able to pan the camera left and right using the slider, with hardly any lag.


Disable the red LED on the camera.

When you’re streaming video, you might not want anyone to know when the camera is active. It’s possible to turn off the camera’s red activity LED by doing this:

sudo nano /boot/config.txt

And at the end of the file add the line


Save and reboot your Pi.

Mounting the twistcam upside down.

The Twistcam is designed to sit on a flat surface the right way up, but if you mount it upside down , hanging from a ceiling or shelf then the video will be upside down and the pan controls the wrong way around. You can fix it by downloading this patch and overwriting the original file.



Start video streaming automatically at boot.

Edit /etc/rc.local so that servod and python3 launch at startup.

nano /etc/rc.local

Insert these lines before the last line which says exit 0

cd /home/pi/twistcam
sudo ./servod

Save the file and reboot your Pi. Video feed can be controlled from PC or phone.


If you don’t have access to a 3D printer, you can buy the two 3D printed brackets and 8x nylon M2 nuts and bolts here for £11.99 inc VAT.

(Raspberry Pi, Camera and SG90 servo NOT included)

Quantity :


We ship worldwide. Next day delivery in UK and 14 days for delivery worldwide.

Feb 132016

Simple LED and switch project for Redfern Crumble board

This project uses:

1x Red LED

1x Push button switch

1x 270 ohm resistor

4x DuPont cables or croc-clip leads


flat short-legged side of the LED connects to the resistor & black wire.

resistor can be 220 ohm if you don’t have any 270 ohm.

The Crumble program waits until the button is pushed and turns the LED on for 5 seconds, then turns it off.


You program the Crumble by dragging blocks across from the left to the right

Try changing the program so the light only stays on for two seconds. Try changing the program so the LED flashes on and off twice.

Here’s how we power the Crumble


we soldered pin posts onto our Crumble board so we can use standard Arduino breadboard cables with it.

the Crumble board is sat on our 3D printed holder, which you can download from

Feb 092016

PocketPi is a portable Raspberry Pi Zero with a 5600mAh rechargeable battery and 4 port hub that you assemble yourself.


all combined into a 3D printed custom case that measures just 92mm x 42mm x 25mm & looks like this when complete


the boards are soldered together like this


and fit into the case like this


you use a hot-glue gun to fix the parts in place

full instructions can be found in our PDF, including buying links for each part here:

and here’s the STL file for 3D printing your own case and lid

You can edit the design of the case to add your own tweaks here:


If you like this post please follow @securipi on Twitter