Use an ESP32 to Build Your Own Ring-Style Smart Video Doorbell
Instead of relying on corporations to handle your security, you can follow Sebastian Sokołowski’s guide to build your own video doorbell.
Smart doorbells, like the market-leading Ring line, have skyrocketed in popularity in the past few years. These provide some security just like surveillance cameras do, but they also provide convenience. If you’re sitting on the couch enjoying a nice movie with your family, the last thing you want to do is bring the fun to a screeching halt just because some door-to-door vacuum salesman has a pitch for you. Video doorbells let you see who is at the door so you can decide if you want to answer or not. If you’d rather make one than purchase one, Sebastian Sokołowski has a great tutorial on how to use an ESP32 to build a sleek Ring-style video doorbell.
There are a few reasons why you may want to go through the trouble of making a video doorbell instead of buying one. The most obvious is that you can save a little bit money — though the savings won’t be huge. You also have the ability to customize the video doorbell’s behavior to suit your needs. Most importantly, however, you can have better security. Last year, it came to light that Ring doorbells had a serious WiFi vulnerability that made it possible for black hat hackers to view video feeds. A number of other models on the market have been found to have similar security weaknesses. By making your own video doorbell, you have complete control over your own security and won’t have to rely on firmware updates from a manufacturer who may not know or care about their product’s vulnerabilities.
Sokołowski’s video doorbell, dubbed “SS4H-SD,” is based on an Espressif ESP32 microcontroller module. That chip is affordable, readily-available, and packed with features. In this case, it’s the WiFi capability that is important. Sokołowski designed a custom PCB for the ESP32 module, which keeps things as compact as possible. This connects to a commodity camera module, which doesn’t have the best image quality but is very affordable. The doorbell can be powered by a battery, but Sokołowski recommends against going that route because you’d have to recharge it too frequently. The electronics fit into a tidy 3D-printed enclosure, with a faceplate that can also be 3D-printed or laser-cut from acrylic for a more professional finish.
The first time you program the ESP32 with Sokołowski’s code, you’ll need a UART-to-USB adapter. After that, you can update the code over the air. This an open source project and you can use whatever software you’d like, but Sokołowski recommends using ESPHome in combination with Home Assistant. While it is entirely possible that minor vulnerabilities will be discovered in those from time to time, they should be quickly patched by the community. You can also customize the behavior with your own scripts. Sokołowski’s guide will help you set it up to send you a notification through Home Assistant when someone rings the bell, and gives you the ability to view the video feed on an Android device.