DSLR motion detection with Raspberry Pi and OpenCV

One of our favourite makers, Pi & Chips (AKA David Pride), wanted to see if they could trigger a DSLR camera to take pictures by using motion detection with OpenCV on Raspberry Pi.

You could certainly do this with a Raspberry Pi High Quality Camera, but David wanted to try with his swanky new Lumix camera. As well as a Raspberry Pi and whichever camera you’re using, you’ll also need a remote control. David sourced a cheap one from Amazon, since he knew full well he was going to be… breaking it a bit.

Breaking the remote a bit

When it came to the “breaking” part, David explains: “I was hoping to be able to just re-solder some connectors to the button but it was a dual function button depending on depth of press. I therefore got a set of probes out and traced which pins on the chip were responsible for the actual shutter release and then *carefully* managed to add two fine wires.”

Further breaking

Next, David added Dupont cables to the ends of the wires to allow access to the breadboard, holding the cables in place with a blob of hot glue. Then a very simple circuit using an NPN transistor to switch via GPIO gave remote control of the camera from Python.

Raspberry Pi on the right, working together with the remote control’s innards on the left

David then added OpenCV to the mix, using this tutorial on PyImageSearch. He took the basic motion detection script and added a tiny hack to trigger the GPIO when motion was detected.

He needed to add a delay to the start of the script so he could position stuff, or himself, in front of the camera with time to spare. Got to think of those angles.

David concludes: “The camera was set to fully manual and to a really nice fast shutter speed. There is almost no delay at all between motion being detected and the Lumix actually taking pictures, I was really surprised how instantaneous it was.”

The whole setup mounted on a tripod ready to play

Here are some of the visuals captured by this Raspberry Pi-powered project…

Take a look at some more of David’s projects over at Pi & Chips.

Jump to the comment form


good idea but it’s hard to make this device.

Reply to kine


It’s cool and all but in the real world, I would still use a motion sensor.

Reply to Anonymous


Great idea, I’d like to see this done with a Pi ZeroW. Has the potential for remote triggering, using the original button from the remote to activate/deactivate, scheduling etc.

Reply to Graeme


That would be really cool for portability – and it is possible to install OpenCV 3 on the Pi Zero too.

Reply to David Pride


This one is a great idea. It’s looking hard but will give it a try.

Reply to Steven P


Hi Stephen, genuinely not *too* hard. The trickiest bit was soldering the wires to the remote. The code is really simple thanks to Adrian!

Reply to David Pride


Thx for your idea. Pls more of such stuff :-)
Best regards

Reply to Bernhard


Hi Bernhard, thanks for your comments – I love making and breaking things better with Pi. :) I’ve got another project in the pipeline that builds on a portion of what I’ve used here.

Reply to David Pride


woowww thanks for sharing this idea. It’s looking hard but will give it a try.

Reply to bishnu


Very good idea.Thanks for sharing this idea

Reply to Kine

Leave a Comment