Office LED – Figuring things out
The first thing I wanted to tackle was to familiarize myself with the ESP8266 module as well as the LED strips. It ended up being much easier than I thought it would be. My biggest fear was getting a connection wrong and damaging one of the components. I’m pretty sure I did get a few connections wrong but nothing bad happened at all. These things aren’t as fragile as I thought.

In the image above, you can see the microcontroller, power supply, and LED strip connected together. If you’re a careful observer, you may also notice that the microcontroller is also plugged into the USB port on my computer and I am also connecting the 5v power (red wire) from the LED strip into the 3v pin on the microcontroller. Doing this, I’ve been told, is very bad and could damage the not only the USB port on your machine but also damage the microcontroller. If you’re supplying 5v to the microcontroller, you should supply it to “Vin” as that pin is guaranteed to have the voltage regulator on it (meaning you can supply 3v or 5v without concern). By connecting the USB port (a power source) and the power supply to your circuit, there is the possibility that you could send a higher voltage back through your USB port which can cause damage to it.
Once I had things in a working state, I measured the current draw for each of the strips, each color channel, and at varying brightnesses. I also measured the draw of the microcontroller, which was 24mA. Since it was on the same circuit, I subtracted this amount from the measured total for each of the color channels. I’ll post the charts below and the raw data can be found at the end of the article. The current draw was measured between the power supply and the wall, not between the LEDs and the power supply.


Before I started this project, I didn’t understand that the power supply has its own input voltage and current level then converts it into different levels. I suppose it should have been obvious, but it just didn’t occur to me. Based on this misunderstanding I was concerned about overloading my 15A circuit. But, now that I understand how this stuff works a bit better, I’m no longer concerned about that at all.
Based on the data collected, it appears that each LED at full brightness and using all three color channels draws about 2.5 milliAmps. Knowing this, I can guess that the current draw for 15 meters of 60 LEDs per meter would be about 2.25A which is more than the power supply is rated for. The one that I have is rated for 110v and 1.5A in. So, worst case, I’ll need two power supplies unless I went with 30 LEDs per meter or limited the brightness of the LEDs.
The next thing I’ll be doing is turning the ESP8266 module into a web server to respond to REST calls that will change the LEDs. The idea is to have an endpoint that uploads a JSON object that contains animation information, then the microcontroller will process it and handle the animations itself. This way the LED strips are completely isolated and the client isn’t constantly uploading data.
As promised, here is the raw data. The brightness column is a value between 0 and 255 and is how FastLED operates. The other columns are values in Amps and I’ve already subtracted the 24mA used by the ESP8266 module.
Current draw for 60 LEDs per meter:
Brightness | Red | Green | Blue | White |
---|---|---|---|---|
16 | 0.005 | 0.002 | 0.005 | 0.01 |
32 | 0.008 | 0.003 | 0.008 | 0.02 |
64 | 0.025 | 0.006 | 0.025 | 0.038 |
128 | 0.03 | 0.011 | 0.029 | 0.073 |
192 | 0.043 | 0.016 | 0.042 | 0.108 |
255 | 0.057 | 0.022 | 0.055 | 0.14 |
Current draw for 30 LEDs per meter (Note: the ‘-‘ means my power meter was not powerful enough to detect any current):
Brightness | Red | Green | Blue | White |
---|---|---|---|---|
16 | – | – | – | 0.003 |
32 | 0.002 | – | 0.002 | 0.008 |
64 | 0.006 | 0.001 | 0.006 | 0.018 |
128 | 0.014 | 0.004 | 0.014 | 0.036 |
192 | 0.022 | 0.007 | 0.021 | 0.054 |
255 | 0.029 | 0.009 | 0.028 | 0.072 |