Smart doorbells have been ringing in the changes for home security for a while now, streaming video and audio to mobile devices whenever their button is pressed. They let you see and communicate with visitors regardless of whether you’re in or out. While one of the most popular devices is Ring, however, Martin Mander opted to create his own.
This article first appeared in The MagPi 83 and was written by David Crookes
“I took it as a personal challenge to build something with similar functions to Ring with a Raspberry Pi for a much lower cost,” he says, indulging his passion for taking old tech and giving it a new lease of life using Raspberry Pi. And so, the idea for the PiNG video doorbell was born.
“At its most basic, it’s just a Raspberry Pi, a webcam, a button, and an amplified speaker, which many folks have lying around already,” Martin says. What’s more, he reckons it is simple enough for others to recreate and he actually created it with this in mind.
Securing the system
For a long time, Martin kept putting his project to one side as he sought an easy way to make video calls via Raspberry Pi. He noted the release of a browser-based version of Google Duo. “Before that, I was on the point of installing Android on a Raspberry Pi to see if I could use Duo that way,” he says. “But the first test of Duo’s web app was amazing. From that point, it was full speed ahead.”
Martin found Duo worked best on a Raspberry Pi 3, which he originally connected to a Logitech webcam, plus a screen, mouse, and keyboard (later swapping the webcam for a LifeCam HD‑3000 which has an integrated microphone). The real challenge was to make the setup work with a headless Raspberry Pi and buttons. This involved coding mouse movements, clicks, and keyboard strokes using the Python module PyUserInput.
“When someone presses PiNG’s button (which is a standard doorbell I bought on eBay), the script uses the PyUserInput module to move the cursor around the screen, emulating mouse clicks and keystrokes to control the Google Duo web app, which is running all of the time,” Martin says. “Once the call is ended, the script is ready straight away for the next button press.” Now, Martin was ready to find his new creation a home of its own.
Playing it safe
A few years ago, Martin bought three intercoms originally released in 1986, and he decided to use one of those. “It’s a bit unusual but still obviously a doorbell,” he says. But since he didn’t want Raspberry Pi or any components hanging outside the house “for security and connectivity reasons”, he decided on a two-part construction. “The outside part is just a case for the button, speaker, and webcam,” he reveals. The project’s Raspberry Pi, meanwhile, is housed in an old, stripped-out tape machine located inside the porch and connected to the intercom using a six-core alarm cable with connection blocks at each end. Once it’s fired up, the visitor presses the button and Martin can see and hear the person on his phone.
“I got a call from a delivery person while out for a lunchtime walk and it was a huge moment for me,” he recalls of its first real life test. “Thankfully, he seemed unfazed by his intercom experience and we had a good two-way conversation about where to leave the parcel.”