Couldn't find a generic DIY Doorbell with a nice angle and modular and easy to print, so made myself one. Can use other boards than ESP32, like a Pi Zero but haven't tried myself.
Made this a few months back, still working perfectly during summer and winter now. Tracks very accurate the temperature, humidity and pressure.
Also I put a rubber band in between, because why not. However it is NOT WATERPROOF, so my front door has a roof and without direct rain it is perfect.
Print with PETG because I don't know how direct sunlight would affect PLA. Internal temp of the ESP is around 55c-60c and PLA warps at 60c…. I used Overture Grey PETG.
Parts & Requirements list:
- Home Assistant!
- With preferably MotionEye as a light NVR software for recording
- With ESPHome:
- My YAML configuration of the ESP32 Wrover via ESPHOME: GitHUB ( ←this took a lot of time to figure out, enjoy!)
- Soldering iron! (don't use the cheap ones!)
- A few M3 bolts and nuts
- A few M3 screws
- Rubber band (optional)
- 16mm metal push button (5v): AliExpress
- Dupont cables
- ESP32 Wrover (Freenove) or ESP32-S3 (both with cam ofc)
- Wide angle camera via AliExpress or so: AliExpress
- BME280 3.3v: AliExpress
- Long 5V USB Cable, or use existing doorbell wiring of your house and reroute positive and negative over 2 wires (like I did)
- And a relatively good 5v 1A USB power supply. El cheapos makes an ESP unstable, trust me because took a few headbangs to discover.
Assembly:
Pretty much straight forward, see the GIF. Can be used without wall plate but that covers the old holes and etc nicely.
Configuration:
- HomeAssistant
- Make a script called “phone_notify”
- And drag and drop your own script in to life. Mine sends a screenshot to my homeassistant app and plays a mo3 chime sound on Google nest speakers.
- ESPHome
- Use the YAML config for the ESP32-Wrover or better use a ESP32-S3 (with cam).
- This YAML config took me A LOT of time to test which combinations would make it super stable.
- Also this YAML config triggers a SCRIPT in HomeAssistant when the metal button is pushed.
- Alternatively if you have your homeassistant server nearby and has GPIO pins then: With extra set of 2 wires you could link the metal push button directly to your servers GPIO pins and configure a trigger via a local script.
- Note worthy:
- The WIFI of this ESP32 Wrover is weak, keep in mind you need at least 50% signal, otherwise it will keep dropping connection.
- Also do not use BLE because that kills the WIFI every time it scans.
Nice to haves (for later):
- Coming soon: Separate chime box instead of using smarthome speakers.