Introduction: Refrigerator Lights
Refrigerator Lights
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.
Step 1: Features
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
Hardware
- WS2812b LED strips (15x10 ~ 50x15cm)
- 5V 12A power supply
- Teensy 3.1 microcontroller
- ESP8266 (ESP-12) WiFi board
- ESP8266-Adapter-Board with 3.3V regulator
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 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
Hardware
- WS2812b LED strips (15x10 ~ 50x15cm)
- 5V 12A power supply
- Teensy 3.1 microcontroller
Libraries
- FastLED (LED light controller by FastLED library)
- RGBLEDS (LEDMatrix & LEDText)
- LedEffects by ratkins
Step 5: ESP8266 Sources
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
Requirements
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
Hardware
- ESP8266 (ESP-12) WiFi board
- ESP8266-Adapter-Board with 3.3V regulator
Libraries
- PubSubClient MQTT library by @Imroy.
MQTT Topics
| 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