DIY: Intro to using addressable LED strips

Addressable LED strips are nifty things.  They’re basically a series of interconnected RGB LEDs that you can individually control.  Here are a few things you need to consider when working with LED strips.

The LED strips

There are different types based on the circuitry that they use.  We’ll be using two different kinds:

WS2812 based:

These use a 3 wire system.  One for ground, one for positive 5 V power and 1 for signalling.  These are the same type as the Neopixels of Adafruit.

APA102 based:

These use a 4 wire system.  One for ground, one for positive 5V [pwer and 2 for signalling (1 for the clock and 1 for the actual data).  The Adafruit Dotstars are these type.

These have their own pros and cons.  The APA102′s are easier to work with because you control the clock signal.  This means the control signal you send isn’t timing dependent so you can use almost any type of hardware and software without too much difficulty.  The Ws2812s, on the other hand use only one control wire but the signal you send has strict timing limitations, so this impacts the type of hardware and software you need to use.  The APA102s have a higher refresh rate so they can be used in persistence of vision applications / light painting applications much better than the Ws2812s.  But price wise the Ws2812s are cheaper than the APA102s.

You can buy LED strips with different densities.  Strips area available with 30,60,90,144 LEDs per meter.  They’re also available bare, with a flexible silicon cover or inside rigid tubing.  There are also products that are in grid form.


Most addressable LED strips use 5V power.  The important thing to consider is the total current needed to power these strips.  These LEDs can consume more than 50 milliamps at full brightness.  So if you have a 10 meter length strip with 30 LEDs per meter that’s a possible 15 amps.  So you’ll need the proper power supply to use in your apps.

The control processor:

The LED strips need a predefined signal to get them to light.  You have many options to use.  You can use a PIC, an Arduino, Raspberry Pi or some other micro controller.  You need to wire the LED strips to the IO ports of the microcontroller.

Each strip type has a different control protocol.  Since the APA102s let you provide the clock signal, you can use any type of microcontroller for it.  For the ws2812s that requires a precisely timed control signal, you may have difficulties using linux based microcontrollers, although the Raspberry Pi can be used by using its pwm feature.

Software and Algorithms:

You can program LED strips using any programming language that your microcontroller supports as long as they can access the IO ports of your microcontroller.

You can then write apps for the LED strips to control the patterns they display.  Things like bitmap animation and texture mapping come into play as you go into more advanced modes of display.  We’ll be touching on these subjects as well so please subscribe to our youtube channel to keep updated.





Add a Comment