As I work more in my garden shed some of the conveniences of the house become apparent: heating, power, internet connection, cups of tea, and doorbells. I realised this last one after missing a couple of deliveries which while they were expected, weren’t expected at exactly the moment I stepped out my back door.
The problem isn’t the doorbell, the problem is that having a doorbell convinces you that you’ve answered the question of knowing when someone is at your door.
Nest are now supplying their WiFi doorbell in the UK and it looks a very capable device, and Amazon also do the Ring video doorbell. While the price is high there is a lot of function provided and they variously do facial recognition, storage of video for review (with a subscription), presence detection, and letting you know when someone is at the door. That last one is strange: I run design thinking workshops and one of the exercises involves asking people to re-imagine the door bell. First exercise begins with: “draw me a doorbell”, while the second is exactly the same but begins with “draw me something to tell me that someone is at the door”. Needless to say the second elicits a wider range of devices including dogs, pressure mats, windows, and pull bells. But doorbells these devices are not: their primary functions are to enhance the door arrival experience so that we can either speak to the person there, let them in remotely, or see unwanted visitors before they see us. So why am I leery of wifi doorbells?
Power is the enemy of remote devices. At least one of the current crop of internet connected doorbells needs a wired connection and this smacks to me of a fudge. My bottom line is that I might as well wire in a press button and a Raspberry Pi with video camera via power-over-ethernet as load such a big device on my doorstep. This aversion stems from my earlier work with power budgets on embedded devices and how it compared to other devices running in the ISM band, some of which operated for up to 2 years on a coin battery! Astonishing to consider that SBCs like the Raspberry Pi only operate for a day or so on a massive 13Ah battery pack, and even lower powered devices such as the Pycom LoRa struggle to get micro-amp-hour range while sleeping.
433MHz/868MHz devices, on the other hand, can exist for much longer on a smaller power budget – my Friedland front door chime runs for years on a coin cell battery. While I’ve played with ISM band devices before, their OOK or FSM modulation is difficult to understand unless you have a spec sheet. Long ago I had a set of devices from a now-defunct small electronic company which used an embedded protocol called LLAP and a cyclic wake mode which worked perfectly for my variety of monitors. Sadly, I am resurrecting the whole setup using more functional, but more power-hungry LoRa devices.
While there are other attempts such as DoorPi and some convoluted GitHub repos that write everything in Python, including event handling and streaming of video, I want to simply use my NodeRed installation to slave off the door press and everything else can happen from there. From my central NodeRed running on an Odroid SBC I can stream video, send a text message, speak back to the caller, switch on lights, and so on.
Question: how do I slave off the wireless ISM Friedland door chime?
The Ring doorbell by Amazon is an interesting alternative. It has the advantage that it is wire-free, but some of the reviews warn that it only trickle charges while connected through a wired extension and that ‘excessive’ number of people walking past can drain this – for which read 6-7 people max! That means a busy footpath like our road would very quickly drain it, so a non-starter. Also, lots of reports about delayed triggering of the phone application that make it seem not functional.
I like the Nest ecosystem, it handles well and rarely gives any problems. I have the Nest thermostat and their fire alarms and while the new Nest doorbell is currently retailing in the UK for around £250 and looks good, the base requirements specify a wired chime unit with exposed lugs on which to wire the leech wires from the door press. That makes it a no-starter for me as the initial cost of installing another wired door chime would be higher still. Perhaps if they do a wire-free option I could be interested again.
While there are others out there and some pretty good CCTV combined monitors and door releases, I wanted to attempt my own because I have plenty of experience of using radio frequency ‘stuff’ and while I’m not an embedded microprocessor engineer, I will shortly have more time on my hands to complete projects.
I’ve started by using some Arduino code on a Wemos (- now called ‘Lolin’) D1 mini, which is an ESP8266 encapsulated on a board to expose the GPIO and powered by micro-USB. This can be programmed using the Arduino IDE and I’ve copied some code from Jamie Jones’ doorbell project. My sounder or chime is wirefree and links from the Friedland door press by using the ISM 433MHz radio band. Getting this part working was quite simple and a matter of adapting the code to local environment, and putting it into an enclosure – which is still to be done.
Next is to work out how to sound the chimes triggered by an MQTT message on a specific topic.