Animated LED Coffee Table with ESP8266

Assembly Test Run 2

LED strips are cool. And addressable ones are even cooler. They look great as a lighting feature and we can actually integrate them into our home automation system as well!

We can use LED strip animations for various purposes such as flashing lights for notifications (e.g. door bell), mood lighting and visual feedback for voice control (very important!).

They can be used in automations as well to give visual cues about the automation being executed.
For example, Motion lighting can be set up to dim lights before turning them off completely.

A bedtime automation turns off all power plugs to save standby power on electronic appliances. This automation could be accompanied by a red, “breathing” LED animation that fades to black.

For voice control, it would be good to give a visual cue to indicate the hotword has been detected and the voice assistant is actively listening for an instruction. This can be accomplished using a simple LED animation.

I think its easy to see the versatility of LED lights in a home automation system-and there is no denying they make a smart home look smart and futuristic.

Requirements

Hardware

  • controller must be WiFi enabled
  • controller must be able to control/animate the LED strip
  • small form factor (to be mounted inside coffee table, out of sight)
  • power supply able to supply at least 6Amps[^1]
  • power supply to have over current protection and built in fuse.

Software

  • integrates with Home Assistant (implying MQTT JSON Light compatibility)
  • preset animation patterns
  • (HA) automations that take advantage of the LED strip.

[^1]: A 5 meter, 5 volt LED strip with 5050 LEDs at full brightness consumes 6 amps of current.

Automation Examples

NameDescription
Bedtime(described in Motivation section) A red breathing LED animation which fades to black indicates that the automation is executing. There is no practical purpose for this other than it looks cool.
Coming HomeLED strip plays animation, as a “welcome home”. This indicates the house is aware of my coming home. If it is too dark in the room to see the LED strip is lit up and used as a light source.
Doorbell pressedLED strip plays short animation as a visual cue to the verbal announcement through test-to-speech.
Watching TVLED strip color fades from bright white to dimmed white for mood lighting. Pausing the movie causes the LED strip to go up in brightness a little to create more light.
NighttimeWhen motion is detected in the living at light time, the LED strip is turned on in a red color. Red is easy on the eyes at night. (white or blue light is harsh on the eyes)
Party modeLED strip plays various animations synced to the beat of the music. I have admittedly no idea how I am going to sync it to the beat. Most animations are periodic in nature anyway, but the task of detecting beats and syncing to it will prove a challenge.

MY MISSION

This blog started nearly 10 years ago to help me document my technical adventures in home automation and various side projects. Since then, my audience has grown significantly thanks to readers like you.

While blog content can be incredibly valuable to visitors, it’s difficult for bloggers to capture any of that value – and we still have to work for a living too. There are many ways to support my efforts should you choose to do so:

Consider joining my newsletter or shouting a coffee to help with research, drafting, crafting and publishing of new content or the costs of web hosting.

It would mean the world if gave my Android App a go or left a 5-star review on Google Play. You may also participate in feature voting to shape the apps future.

Alternatively, leave the gift of feedback, visit my Etsy Store or share a post you liked with someone who may be interested. All helps spread the word.

BTC network: 32jWFfkMQQ6o4dJMpiWVdZzSwjRsSUMCk6

High Level Instructions

Building this project can be broken up into a number of subtasks.

StepDescription
Purchase a NodeMCU and the LED stripIf you don’t have a spare NodeMCU laying around.
Flash the Arduino firmware onto a test boardFlash the firmware and confirm it connects to your Wifi and responds to MQTT messages using MQTTfx and the serial console.
Order all components on Ebay and AliExpressDoesn’t hurt to get some spares. Electronic components are cheap.
Design electronic circuit in graphics programDownload mine to save time. While you’re waiting for compoennts you can do some other tasks.
Integrate with Home AssistantYou can start integrating the controller with Home Assistant. Use the serial console to confirm communication works and the effects are applied.
Etch PCB boardEtch the electronic circuit using the etching kit.
Setup a test circuit using breadboard and jumper wiresThis serves as a proof of concept, easier to debug a circuit or the software before soldering to final PCB board.
Mount LED channelsUse 3M double sided tape to mount the LED channels in the desired location.
Drill holes and solder components to boardMake sure you solder components in the correct orientation and on the correct side of the PCB. Some components go on top and others are soldered from the bottom. This is it make the baord as small as possible.
{% include gallery caption=”This is a sample gallery with Markdown support.” %}

Advertisement Begins

Advertisement End


This is not supposed to be a detailed tutorial. Some knowledge is assumed. My project pages are meant to serve as inspiration, giving you the ideas and tools to replicate similar set ups customized to your requirements. I strive to make all software resources available to you.

PCB Etching, Assembly and Soldering

Mounting the LED strips

Here are some photos of attaching the LED strips to the underside of the table using aluminium LED profiles.

Related posts

Troubleshooting Asus Xonar U7: Blinking LED and Connectivity Issues

Cheap Wifi MQTT Controlled LED strip using Tasmota and Home Assistant

How to set up Tasmota to control LED strips individually on a single H801 controller

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More