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

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

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

Libraries

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