I am super sensitive to over engineering. For my doorbell I wanted something that lets me play a custom bell sound. You would be surprised that 99% of the solutions out there are complete over engineered stacks that depend on wifi devices, Internet access, connecting to various cloud services... So I built my own: a basic wireless button sends a radio 433 MHz signal, and my receiver is plugged inside the house and triggers an off-the-shelf playback PCB module that reads an MP3 off an SD card and plays it on a speaker wired to the module. No Wifi, no Internet, no cloud, no apps. And the rare times I want to change the sound, I update the MP3 on the SD card.

Edit: there are very, very few products on the market designed as simply as this, just an R/F signal triggering local playback. I think the only commercial doorbells designed like this I found were an out-of-stock product, and a UK device designed for 230V that would have required a bulky adapter to work for me in the US.

As a former embedded systems engineer, my door bell is two long bits of wire, a bell, a push button and two C cells.

My light switches are similarly complicated.

Is it still easy to get C cells? I probably would've used an 18650 or some AAs.

Two wires and two C cells? Careful, someone is going to put a subscription layer in front of that

"Only works with Juicero brand C cells."

You are super-sensitive to over-engineering, so you over-engineered your requirements and ultimately your end product, just in a different methodology and framework.

The requirements are not over engineered. They are what they are. Wireless and configurable chime. They are fixed parameters.

But my implementation of these requirements is absolutely not over engineered. I argue it is the simplest and most reliable it could be done.

“I was only following the requirements” at this point must be the Nurnberg defence of over engineering.

If it quacks like a duck, doesn’t matter what you call it: it was over engineering.

It would be over engineered if one could design a system providing similar functionality using less hardware and less software.

I challenge you to design a wireless doorbell that has a user-configurable chime, in a way that uses less software or less hardware than mine. You couldn't.

In fact, if you did market research like me you would find that 99% of similar products have vastly more complex hardware or software or services being them. They break when there is no Internet. Some work without Internet but don't work when the local Wi-Fi is non functional. They don't immediately get back online after a power outage. They need regular software updates during which the chime can't play. These are over engineered things. Not my product, because mine has none of this complexity or faults.

[deleted]

ZigBee button, double sided scotch tape, Zigbee dongle, HomeAssistant on RPi with a speaker.

Two wires, a button, a bell, and a battery pack.

That is exactly over engineered crap I want to avoid. I don't want my doorbell to depend on networking or a full blown Linux stack.

Yeah this would have been my answer, except for one catch: what do I do with the existing integrated button on the Blink doorbell?

[flagged]

> For my doorbell I wanted something that lets me play a custom bell sound

But... why?

Over engineering is subjective / evolving.

You could have bought a bell...

> You could have bought a bell...

Over engineering is about the solution, not the requirement:

> I wanted something that lets me play a custom bell

"You could have bought a bell.."

No because similar commercial products were either out of stock or not compatible with my AC voltage.

If you find one that meets your requirements that is an option.

Granted maybe your requirements are ridiculous. But I also had cases where I DIYed a solution because the commercially available solutions all either didn't fulfil the requirements and/or had anti-features that ruled out their use. I haven't had any regret so far with these solutions, with some of these being active for over a decade.

There may be over engineering, but replacing a bought solution that needs to connect to the internet and someone else's computer to ring a bell with a simple 433MHz sender and a MP4-player module isn't that. Do you know what is required for a device to even connect to a WiFi? That alone is more complex than the whole system the user built here.

> That alone is more complex than the whole system the user built here.

so what?