Tinkerbells

The war against failed package deliveries continues, and although it’s been , it’s still a work in progress. I’ve been doing a lot more stuff (including rebuilding my home infrastructure and running some cloud benchmarks), but a recent delivery miss bumped this back to the top of the order of business, so today I spent a couple of hours tinkering with electronics.

Current Ammunition

I glued a contact sensor to the bell’s inductive coil, tacked a buzzer on an ESP-01, loaded it with Sonoff-Tasmota and called it a day. Later on, I took the time to solder the various bits onto a tiny piece of protoboard with a neater arrangement:

a prototyping board with the ESP-01 front and center
Version 1.1, on naked protoboard, with most of the components tucked under the ESP-01.

Since I treated the buzzer just like another device, it was trivial to plug in to my home automation setup1 as another bit of MQTT/Node-RED logic:

the logic flow on Node-RED
The extra buzzer only pipes in during the daytime

As it turns out, the resident humans found the buzzer sound annoying (which was kind of the entire point, since I wanted to get them to actually act upon it). But it was also not loud/distinctive enough to carry to the back of the house, which eventually forced me to start looking for a “nicer” solution.

MP3 Playback On a Budget

I soon found out about the JQ6500, a tiny MP3 player that can be made to playback specific samples either via a UART or 5 pull-down pins, as well as having the ability to drive a sub-1W loudspeaker.

It comes with a micro-USB port (so no need to use a standalone micro-USB breakout), but I still need to add a voltage regulator to power the ESP-01 off it. To pull down the relevant input, I just tossed in an N-channel MOSFET, and the resulting circuit looks pretty much the same as before:

new circuit diagram with the JQ6500 added
A bit more complex than before

Uploading your own audio is as simple as cloning the rescue tool repository, building the jqtool binary on my lab and telling it to upload a folder’s worth of MP3 files, so I am trying out a few chimes as well as “regular” doorbell noises. Physically, the entire thing is only a slight bit larger due to the ESP-01 breadboard adapter:

new prototype
This is actually simpler than it looks.

Since I’m still using Sonoff-Tasmota, this was wired up on Node-RED in exactly the same way and there is zero code involved–which was rather disappointing, really, as I’ve been feeling the need to do something besides Spark and .

I’ve already established that the tinny little speaker I’m using isn’t going to cut it (but, as usual, planned ahead for that), so I’m just waiting on a few PAM8403 3W amplifier modules and beefier speakers to go with them. Once they arrive, I intend to build at least two much louder doorbell extenders, and 3D print cases to house them.

And if the resident humans don’t appreciate the volume, well… At least now I can take requests for which chimes to use.


  1. I should probably mention (since it’s been a while now) that I’ve also been fiddling with Alexa and WeMo emulation (both directly to Sonoff-Tasmota flashed devices and via Node-RED), and that it’s been working OK–although I still do not allow Alexa or Google Assistant to access anything of consequence due to their (in)security model. ↩︎

This page is referenced in: