Playing with a led strip…

luca 26/10/2013 7

Led strips have become very common for various uses: from interior and exterior lighting, to decoration… today I’ll explain you which types of strips are available and I’ll show a pratical example for controlling them using Arduino and C#.

Led strips

A led strip is made by a variable number of leds (usually in SMD package) soldered on a flexible PCB. Leds may be single color or RGB, able to produce (almost) all the colors in the light spectrum.

Led strips can also be waterproof, for outdoor use.

The degree of protection against the water is defined through the IP code; for example the code IP65 means a protection against water jets.

The strips include also the resistors needed to drive the leds; the power supply is usually 5 or 12V.

Addressable (digital) strips

Some strips are addressable or digital: those strips include some control chips that allow to drive each led independently from one another. Sometimes the chips are visibile, sometimes they are embedded in the leds:

It’s very important to distinguish the strips according to the number of independent leds: the cheapest ones use a single chip to drive 3 leds. Sometimes in the datasheets you may read about the number of pixel: a led strip with 30 leds/m and 10 pixels/m is a strip with only 10 chips, each of which drives 3 leds; so you can cut the strip only every 3 leds.

The most used control chips are: WS2801WS2811LPD8803, HL1606… the Arduino’s library I chose support all of them!


Almost all the digital led strips use a simple serial protocol: you need only an Arduino digital PIN to send the data and its ground, connected to the ground of the power supply you use for the strip.

In my example, I’m going to use Arduino to supply the strip: this is ok only for a small number of leds: it’s always better to use an external power supply!

On the Internet you can find some libraries for Arduino; I chose fastspi (official site) because it supports many control chips, it’s easy to use and very efficient in the use of the (limited) hardware resources of Arduino. In the next page you’ll find the Arduino’s sketch and the GUI, developed in C#…

Pages: 1 2


  1. schmurtz 04/03/2014 at 01:32 - Reply

    Thanks a lot for these concise and precise explanations. Thanks to share it with us, it works perfectly !

  2. Louis 04/03/2014 at 17:16 - Reply

    Thank you for your article, it helped me a lot.
    Is the 60Leds Restriction because of the Byte[] size package ?

    • luca 15/03/2014 at 10:50 - Reply

      Hi! Well no, I put that restriction because my led strip had 60 leds but of course you can increase it with a small change in the code!

  3. Massimiliano 31/12/2014 at 17:51 - Reply

    Complimenti Luca ottimo tutorial.

  4. Umberto 06/05/2016 at 09:26 - Reply

    Buondì Sig. Luca,
    Complimenti per il Suo lavoro.
    Avrei bisogno del Suo aiuto in merito ad un progetto per un segnapunti da pallavolo.
    Mi occorre realizzare 4 digit a 7 segmenti con pezzi di strisce led per essere visibili da almeno 15m.
    A tal proposito ho pensato di utilizzare dei led indirizzabili come quelli della Adafruit NeoPixel.
    Visto che la suddetta casa commercia segmenti da 8 led ognuno, ogni digit avrà 7×8=56 Led.
    In sintesi, riuscirei a creare un indirizzamento per così tanti led? C’è un limite? Grazie e Scusi la domanda ma sono un neofita di Arduino.
    Saluti, Umberto.

    • luca 16/05/2016 at 07:53 - Reply

      Salve Umberto, l’unica accortezza è sull’alimentatore usato per accendere tanti led: deve essere adeguato come corrente di uscita. Per risparmiare potrebbe anche utilizzare delle strisce non indirizzabili, pilotando ogni segmento con un apposito MOSFET.

  5. Umberto 06/05/2016 at 09:30 - Reply

    P.S. – Per farmi comprendere meglio, mi sono ispirato a questo articolo.

    Grazie ancora.

Leave A Response »

This website uses cookies to ensure you get the best experience on our website maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.