Saturday, August 7, 2021

Sound Reactive RGB Floor Lamps

 


In this post, I'm going to cover creating your own DIY sound-reactive LED/RGB floor lamps that have all the features of commercial Govee version (and more) at less than 1/2 the cost.


Govee makes a very nice, high quality floor lamp.  Among the key features they list are:

  • 25 lighting effects
  • DIY mode
  • Reactive music modes
  • Voice controlled
  • RGBICWW
  • Cost: $170 (although they are on sales now for $145)

My goal was to duplicate all these features and more, for less than 1/3 of the cost.  The "tube" will be made from a fluorescent tube guard, painted with frosted glass spray paint.  



The LED strips will be my favorite WS2812b. Now, technically the WS2812b does not have the warm white pixels of the Govee version, but you could certainly use 5050 RGBW or SK6812 pixel strips if you want the warm white option.

And the controller will be another of my favorites, the Wemos D1 Mini/ESP8266, running a special sound-reactive version of WLED.  And WLED offers over 100 different lighting effects instead of just 25.

Parts List

This is for building a single floor lamp.  

QTY

Description

Notes

1

WS2812b Pixel strip (60 pixels/m)

Or substitute 5050 for warm white

1

Wemos D1 Mini / ESP8266

Or substitute Wemos ESP32 (see below)

1

3.3V to 5V Logic Level Shifter

 

1

Adafruit Electrec Microphone

 

1

Mini Electrocookie Prototype Board

Will need full size if using ESP32

1

5V 10A Power Supply

10A can power 2 lights

1

4’ T8 Fluorescent Tube Cover

Recommend sourcing locally

1

Frosted Glass Spray Paint

Recommend sourcing locally

1

12” x 1” Edge Glued Rounded Pine Panel

Recommend sourcing locally (see below)

1

4’ x ½” x ¼” square wood slat

Recommend sourcing locally

1

1” x 1” x ½” Corner Bracket

Recommend sourcing locally

1

Paint and polyurethane

Color and finish of your choice

 

Misc. wiring, Dupont connectors, solder, heat shrink tubing, etc.

General wiring supplies

Some links are affiliate links.  While this does not affect your pricing, this blog may earn a small commission to use for future projects.

Here are some additional notes regarding the parts:

My choice for the pixel strips does not contain a separate warm white pixel.  This is partially because I don't plan on using these for general lighting, but mostly because I already had them on hand.  You can certainly substitute the pixels strips with a version that has warm white.  You only need 1M (60 pixels) per lamp, but may use more depending upon the height of your tube.

For the controller, you can upgrade to an ESP32.  The sound-reactive version of WLED does have some additional lighting effects when using the more powerful controller, but most of these effects are "2D" and meant to be using on a matrix display.  If you do opt for the ESP32, you'll also need a full size of the Electrocookie prototype board, as the double row of pins on the mini ESP32 increases the width of the board and it will not fit on the mini board.

Speaking of the controller board, if you are planning on building two lamps (as I did), you have a choice.  You can build a separate controller for each lamp (so they can be controlled individually), or you can share a single controller for both lamps, splitting the signal to both.  The lamps will also be in sync using this method, but they cannot be controlled individually.  If you opt for the latter of sharing the controller, you also only need one microphone and a single 5V 10A power supply.

For those items that I note you should consider sourcing locally, check out your local hardware store for these items.  I include links so that you can see the item, but I found these items much cheaper (sometimes up to 50% cheaper) at the local hardware store as opposed to ordering online.  Since I couldn't find a corresponding link for the round wood panel, here's a photo of what I purchased:



Assembly

Instead of providing step-by-step instructions here on how to prepare the tube covers, mount the LED strips and assemble everything together, I'm going to direct you to watch my YouTube video on the preparation and assembly.


Controller Build

Again, I have a complete YouTube video and blog article on building your own WLED controller.  However, there are a few modifications for the sound-reactive WLED version, and I'll describe those here.


As you can see from the above, this is identical to the standard WLED controller build, EXCEPT the microphone has to be added.  To do so, simply run from the 3.3V pin of the D1 Mini to both the VDD and gain of the electrec microphone.  GND runs to an available ground connection on the Electrocookie board, and Out runs to the analog (A0) pin on the D1 Mini.  Everything else is identical, wiring-wise, to the standard controller.  You can opt to include or omit the local button control (I omitted because of my planned install location made a button impractical).

Installing Sound-Reactive WLED 


If you are using an ESP32 board, you can install the sound reactive version of WLED directly in your browser.  However, if you are using an ESP8266, the web version currently does not support installing the sound-reactive version.  Instead, you'll need to go to the latest release of the Sound-Reactive WLED Github and download the soundReactive_WLED_0.12.0_ESP8266.bin file. You then must flash this to your ESP8266 using a utility like NodeMCU Pyflasher or similar.  I cover the steps on how to do this in my blog post Building your own LED light strip controller.


Sharing a single controller between two lamps

As I mentioned above, if building two lamps, you can opt to have a separate controller for each lamp with independent control, or you can use a single controller to control both lamps and they will always be in sync.  


To do this, simply take the signal out line from the controller board and split it, running the signal to each LED strip.  Note that it is imperative that you use a logic level shifter (or sacrificial pixel) to boost the output signal from 3.3V to 5V if you plan to split the signal.


Home Assistant and Voice Control

If you have discovery enabled in your Home Assistant installation, the WLED controller should be discovered and integrated automatically. Once in Home Assistant, you can use your new floor lamps for automations and integrate into your Google or Amazon speakers for voice control.

Final Thoughts

While not quite as "professional" looking as the retail version, I built a floor lamp with identical (and in some cases, like the number of lighting effects, even more) features.  And I did it for less than 50% of the cost.  One thought is that the retail version isn't truly a 360-degree view, but instead has a narrower display meant to cast light on the surrounding surfaces.  You can duplicate this, if desired, by masking part of the tube... either via paint or some sort of insert in the tube itself.  Personally, I like the 360-degree display... but the choice is yours.  Let me know down in the comments if you have questions or any additional thoughts!

Additional Links and Info



Supporting this blog and related YouTube channel

If you'd like to support future content on this blog and the related YouTube channel, or just say thanks for something that helped you out, you can use any of my Amazon links to make a purchase at absolutely no cost to you.  Or if you prefer to say thanks directly, you can buy me a one-off cup of coffee at:


2 comments:

  1. Thank you for sharing and helping the community!! Can you show a picture of how the microphone is wired to the control board and where you have the control board relative to your set up?

    ReplyDelete
    Replies
    1. You are more than welcome! Unfortunately, I can't post a picture here in the comments. But if you take a look at the board wiring diagram above, you can see how the microphone is wired. The VDD and Gain pins on the mic are wired together and are wired to the 3.3V of the D1 Mini. GND goes to ground on the controller and the Out pin goes to the A0 pin. These connections are shown as SPKR in the diagram (they should have been labeled MIC). Since these connections are made from the bottom of the board up, you need to solder these in place BEFORE soldering the D1 Mini to the board.

      As far as controller placement, that is totally up to you. In my case, I placed one lamp on each side of my entertainment center. I ran enough wire from the controller to each lamp so that I could place the controller out of sight behind the entertainment center about midway between the lamps. I place the wires in some braided wire sleeve (https://amzn.to/3pyIyVf) just to keep things tidy and neat looking.. but this is entirely optional. I also ran enough wire to the mic to run it under the entertainment center and just attached the mic to the bottom of the entertainment center with some double-sided tape, near a speaker for better sound pick up. But again, placement of the controller and microphone are completely up to you and you just need to determine wire length to get things placed where you want.

      Let me know if you have any additional questions!

      Delete

To help eliminate spam and to keep all conversations civil, submitted comments are moderated. Therefore your post may not show up immediately. Please be patient as most reviews are completed within a few hours.