Refrigerator Lights is a simple blinkenlights update of the refrigerator of the MunichMakerLab hackerspace. It drives a small WS2812b LED strip based matrix of 15x10 LEDs behind a diffuse cover; which replaces the old lamp.
Everything is controllable by MQTT over ESP8266 WiFi module.
>> project sources on GitHub.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Features
- FastLED library for all the fancy animations
- ESP8266 WiFi module for remote access
- MQTT to remote control the animations and state
Step 2: Hardware
Step 3: Wiring
Teensy 3.1 pinout
- Teensy 0 (RX) >> EXP8266 (TXD)
- Teensy 1 (TX) >> ESP8266 (RXD)
- Teensy 2 (LED data pin 1) >> DC-DC converter (5V>3.3V) >> LED strip 1
- Teensy 14 (LED data pin 2) >> DC-DC converter (5V>3.3V) >> LED strip 2
- Teensy 7 (LED data pin 3) >> DC-DC converter (5V>3.3V) >> LED strip 3
Step 4: Teensy Sources
Teensy 3.1 board has the complete implementation of the LED animations. The Communication with the ESP8266 module is done by UART (Serial1) by simple passthrough serial data.
>> sources on GitHub
- WS2812b LED strips (15x10 ~ 50x15cm)
- 5V 12A power supply
- Teensy 3.1 microcontroller
Step 5: ESP8266 Sources
The ESP8266 module is programmed directly with Arduino IDE. All the network and MQTT implementation is now on the ESP8266 and not on Teensy. There is also a simple passthrough of Serial stream, to handle all the MQTT messages by Teensy.
>> sources on GitHub
You have to install the Arduino IDE 1.6.4.
- Arduino > Preferences > "Additional Boards Manager URLs:" and add: http://arduino.esp8266.com/package_esp8266com_inde...
- Arduino > Tools > Board > Boards Manager > type in ESP8266 and install the board
- download PubSubClient (see Libraries) and copy folder to Arduino library path
- ESP8266 (ESP-12) WiFi board
- ESP8266-Adapter-Board with 3.3V regulator
- PubSubClient MQTT library by @Imroy.
| topic | message |<br>| ------------------------------- | -------------------------------------------------- | | mumalab/fridge/uptime | String(millis()) | | mumalab/fridge/state | 1 / 0 | | mumalab/fridge/brightness | 0 to 255 | | mumalab/fridge/effect | twinkle / plasma / snake / life / sprite / rainbow | | mumalab/fridge/ticker/color | #000000 to #ffffff | | mumalab/fridge/ticker/bounce | 1 / 0 | | mumalab/fridge/ticker/direction | left / right / up / down | | mumalab/fridge/ticker/text | scroll message as text... |
Step 6: Final Refrigerator (Video)
A short demo video with the new blinkenlights update of our refrigerator.
Enjoy and happy pimping your refrigerator ;)
Video embed of tumblr did not work.
Here is the link to the video