WS2812B + ATmega168 breakout — a.k.a. RGB LED RING V3


No more software PWM, no more LED driver chips, just intelligent LED pixels. These things come with integrated controllers/drivers and support 24bit colors (8bit per R,G,B). This makes projects smaller and is much easier on the microcontroller, no more need for interrupt-driven PWM generation and refreshing etc.

Data is sent to the chips (chainable) in a serial way on just one line. The ‘1’s and ‘0’s are encoded by pulse-lengths of HIGH and LOW, in a somewhat similar fashion as e.g. the NEC IR remote protocol.


Brightness of the LEDs is plenty, and as far as I can tell they’re even white-balanced! Adafruit has developed an Arduino library for these chips. It’s named ‘NeoPixel’.

Pricewise… these things cost about 0.32$ in small quantities. Given that you don’t need any LED drivers or resistors and can just talk to them, that’s not too bad.

I like them.

This entry was posted in Arduino. and tagged , , , , . Bookmark the permalink.

5 Responses to WS2812B + ATmega168 breakout — a.k.a. RGB LED RING V3

  1. Linard J. Frey says:


    Looks really cool. Can you give me the schematic ? or at least which CAD software you used ?
    I`m planning to do a 8×8 Matrix with these LEDs.

    Thank you

  2. Frieder Schrempf says:

    Hi Robert,

    I’m just starting to use KiCad and wanted to try designing a PCB with the WS2812B LEDs. Therefore I downloaded your KiCad files from gitub and tried to edit them. I just found out that there are some references to your custom footprint folder (e.g. the LED footprint). Would you mind sharing the LED footprint?


    • robert says:

      The footprints are embedded in the board files.

      To get access to them, add a new library to the library-table in pcbnew:

      fp-archive $KIPRJMOD/fp-archive.pretty KiCad

      Then use ‘file -> Archive Footprints -> Create Footprint Archive’ to save all embedded footprints to that new library.

Comments are closed.