Jesse Andrews posts about hacking a Miffy bunny lamp from Japan with NeoPixels and technology:
When my oldest daughter was born, one my dearest friend Britt Selvitelle gave us a gift of Miffy Lamp from Japan.
Miffy had two “problems”, the first being the power cord for the lamp didn’t fit into American outlets. The second was the bulb being incandescent consumed lots of power and created lots of heat (and rather bright for a night-light).
Solution: Let’s put it on the network! Having learned about ESP-8266, a cheap & tiny microcontroller that has WiFi, I thought it would be cool to give the bunny an API.
I grabbed an Adafruit NeoPixel (RGB led), and figured out how to wire it up to ESP8266
After adapting the code to connect to my WiFi, I found code that implemented a webserver on the ESP8266.
Recently, Jesse revisited the project:
Since the original implementation, the hardware hasn’t changed, but the software and method of exposing it has.
After reading how to build a programmable space by @jhaip, and reading/watching demos on Programmable.Space, I was motivated to rebuild this project (and others) using similar ideas.
Hacking time is quite limited, so after failing/fumbling trying to get zeromq working on the esp8266, I switched to using mqtt.
Thanks to an MicroPython – Getting Started with MQTT on ESP32/ESP8266, I was able to really quickly convert my http based system to listening for mqtt messages. Now I can “wish” Miffy to become a color by publishing an message with the 3 or 6 hex digits (ffdd00 or 08f).
I wrote a quick “Miffy” golang program to publish to it. Currently I’m using hmq as my broker (server), and paho.mqtt.golang as my client library.
You can see more on this via the project GitHub repo and Twitter.