This is an old revision of the document!


Party Button

My kids like to listen to music and dance around. I got this idea one day that it would be fun for them to just spontaneously start parties so I built a party button for them. I 3D printed a simple case with a large red button on it and threw together some electronics to publish an MQTT message when it was pressed. When my home automation system saw this message come in it shut off the house lights, started a random strobe effect on the hue lights and starting playing a party playlist on our sonos speakers. The kids loved it.

Party Button v2

To address some of the issues in v1 I've started working on a v2. My plan is to make the circuit much simpler by using my 433Mhz RF network instead of wifi which will remove the wifi delay and the push button circuit since I'll be able to just deep sleep.

I have a hacked version working, I just need to clean everything up and publish it. Coming soon.

Party Button v1

This was the first “finish” product that was usable for over a year, it's since been replaced with v2.

A nodeMCU was used to connect to wifi and publish a mqtt message. These modules, especially with the passive components like voltage regulators can be power hogs so even in deep sleep it would go through batteries quickly. Because of this I added the push button switch to power the device completely off. The way the circuit works is when you push the button it powers up switch circuit which pulls power from the two batteries, through the step up regulator and to the nodemcu.

Hardware

Software

I can't even find the source code. It basically just wakes up, connects to wifi and publishes a mqtt message. There was a small delay (few seconds) and then it powered itself off by triggered a pin on the push button switch circuit.

Issues

The push button circuit didn't work that well with this setup and looking back I probably needed to de-bounce it. What ended up happening was if the kids pushed the button too quick it didn't actually trigger it on; we trained them to hold it for a second until they saw the blue power led turn on then let go. This worked okay but it made for a weird experience. The second issue was the delay it took for the device to turn on, connect to wifi and then fire off the mqtt message. This could take up to five seconds which when you're ready to party feels like an eternity! It was hard to fix this with this design so I plan on addressing this in v2.