WS2812 LED Implementation




About: I'm the typical maker/DIY/nerd dad.

Hi all:

This goal of this Instructable is to provide you with some notes on the installation/implementation of a string of 430 WS2812 LED packages.

In case you didn't know, the WS2812 is an awesome little RGB (red, green, blue) LED package that has a little controller chip built right in that basically does everything except wash the windows.

There are plenty of folks out there who have already done all the heavy lifting for us in terms of getting a bunch of WS2812s up and running in no time, with no fuss or muss (SparkFun, Adafruit, etc.) using a variety of controllers. I was able to get my first string of these little beauties up an running with an Arduino in about five minutes by simply downloading/installing a library and example sketch.

If you have any questions on the programming aspect, let me know, and I'll do what I can to try and help you.

There are also many places that can provide you with WS2812s connected in various ways, e.g., in a long strip, on a circular board, or simply in bulk. Prices may vary, so consider doing some shopping around.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: POWER!!!

The thing about lighting up 430 WS2812s is that you are potentially lighting up 430 x 3 LEDs, since there is one red LED, one green LED, and one blue LED in each package.

We all know that LEDs don't use that much power. Even the high brightness LEDs don't use as much power as compared to some of their other luminous cousins, such as the incandescent light bulb.

The specification sheet for the WS2812 indicates that it only takes about 20mA at around 3VDC to light up one of the LEDs (depending on which color... red requires less voltage, blue requires more voltage) .

In actuality, you provide 5VDC to a WS2812, but that's neither here nor there.

In terms of current, 20mA ain't nothing.

But, wait... we're talking about 430 x 3 LEDs.

Um, that's 1290 LEDs!

1290 LEDs @ 20mA per LED equals a whopping 25.8A! That's a lot of current.

Luckily for us, the numbers on specification sheets are theoretical, or estimates, or guidelines, or something.

Step 2: CONTROL!!!

Here you can see how simple the controller setup is for these LEDs.

There are only three connections required on the LEDs: +5VDC, Common, Data.

Wouldn't you know that there are only three connections required on the Auduino being used as the controller: +5VDC, Common, Data.

Step 3: POWER and CONTROL!!!

Well, we certainly don't need to supply 25.8A to our little Arduino, so you can use just about any old wire for the connections for Arduino power and the data line between the Arduino and the LEDs.

Now, according to our friends who put together the NEC, we are going to need 12AWG or 10AWG in order to handle that 25.8A needed to power all of our LEDs. Remember, for our purposes, current is current. The fact that we are at 5VDC doesn't let us off the hook.

That's some pretty hefty wire!

Um, allow me to do a sanity check for y'all...

Step 4: Somewhere Over the Rainbow

So, here are the 430 WS2812s powered up. The rainbow spectrum slowly cycles from right to left. With this pattern, most of the LEDs are on, but none of the packages have all three LEDs 100% powered.

Step 5: 1.21 Jiggawatts!

It looks like we are a little over 6A to power the 430 WS2812s in a rainbow spectrum pattern. That's 6A x 5VDC = 30ish watts.

Not too bad!

Step 6: These Go to Eleven...

If each of the red, green, and blue LEDs are powered at 100%, we end up with a nice white light.

Step 7: Power to the People!

100% bumps us up to right around 10A. That's 10A x 5VDC = 50ish watts.

Still not too bad!

Step 8: Adding a Little Extra

One final note on getting all the LEDs to light up...

The flex circuit strip that these WS2812s are mounted on doesn't actually have enough copper on it to handle the current required to light a strip of 430 of them. If you were to only have the 5VDC connected at one end of the strip (like I did initially) you would see that about half of the WS2812s wouldn't even turn on.

Well, there is also the whole voltage drop thing that happens for the same reason, but it all depends on how you want to look at it, so let's just talk about power drop, okay?

One way around the power delivery limitations of the flex circuit is to supply the 5VDC to multiple points along the strip. To allow enough juice to get to all the WS2812s, I ran 18AWG (good up to around 14A... so we are covered even if we assume 125% of the maximum current of 10A, or 12.5A) along the entire length of the 430 WS2812s, and connected them at the locations shown by the arrows, in addition to the connections at the beginning of the strip.

Just remember that there is still only one place where the data is connected to the strip (the DIN connection on the first WS2812). Well, I suppose you could have multiple data connection points if you wanted different sections of the strip to be controlled separately for some crazy reason.

Make It Glow! Contest

Participated in the
Make It Glow! Contest

Epilog Contest VII

Participated in the
Epilog Contest VII



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Make It Fly Challenge

      Make It Fly Challenge
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    6 Discussions


    3 years ago

    Thanks for the awesome instructuble, I remember that I've tried to operate 5M strip (150 leds) with a 10A power supply, but the LEDs power started to go lower at the end part of the strip until it lost power completely, now that you've explained it I'm happy that my components aren't defective ^_^', anyway, at which point did you connect the external 5v to the strip? and is that 5v coming from the main power supply or an external one? thanks for the post again.


    3 years ago

    What power supply did you use? A link to where you bought it would be awesome.

    1 reply

    Reply 3 years ago

    I'm using a Condor GPC130B that I picked up used at a local electronics surplus place. It will put out 16A without a fan, and 20A with a fan. I've got a fan mounted, but the power supply doesn't get warm at all, so it's usually off.


    3 years ago

    I use single color strips of 6 and 18 LEDs in my truck, tied to the sound system (the LEDs tied to the feed with the bass blocker in line makes them light independently to the ones tied to the subwoofers). I only run into discoloration on the silicone and backing adhesive on the places where the individual 3 LED strips intersect, where the resistor is mounted (I know, it overheats and fries after a while at that wattage, but I always have replacements laying around). the discoloration is due to heat, I believe.

    Timo Repo

    3 years ago

    Gents; I just need to ask this: Do those LED-strips have the silicone IP-classification layer on them? I have experienced some very fast deterioration on the silicone: It goes dark brown, especially from the place where there is heat and UV-light - maybe the white LEDS do emit UV light?

    1 reply
    crispernakisanTimo Repo

    Reply 3 years ago

    Yeah, the strips I'm using do have the silicone jacket. I haven't seen any discoloration, but if I do, I'll make a note.

    There isn't a white LED on these guys, only red (620ish nm), green (520ish nm) and blue (470ish nm), and I'd be surprised if the blue was emitting any UV.