WS2812/PL9823 Christmas Lights using PIC32MX

Simple WS2812/PL9823 Christmas lights with PIC32MX250F128B, PWM and DMA module.

Similar projects worth following
These Christmas lights are dime-a-dozen! You can buy it anywhere! But if you are a big fan of WS2812/PL9823, why not put these into your Christmas tree?However, these things require precise timing to drive the LEDs, and you need a very fast microcontroller. Luckily, there are 32-bit microcontrollers, and driving the individual bits of the WS2812 is a simpler effort with the PWM and DMA module.

In here, we are using a PIC32MX250F128B with the Cytron SK1632 board. The WS2812's one and zero bits do look like PWM pulses with a different duty cycle, and the firmware replicates those by pushing the pulses into the WS2812's input by using DMA.

The custom effects are from WS2812FX library and Adafruit NeoPixel Library:

Youtube links:

There is a small difference between WS2812 and the PL9823 - the color arrangement for WS2812 is GRB, while for PL9823 is RGB.

Cytron's SK1632 board:

  • 1 × PIC32MX250F128B Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 16 × PL9823/WS2812

  • Wiring those PL9823s up - no fun!

    NYH-workshop12/02/2017 at 12:25 0 comments

    From the title... We all know that for sure! These PL9823s are almost identical to the WS2812, but with their color addressing of RGB instead of the GRB. And they are also available in a normal 4-pin LED form:

    Soldering this thing up is not fun! The LED kept falling off, and I need many heatshrinks just for 16-LED string! So what I did was, I followed BigClive's solution: attaching these LEDs to a PCB header, and manually solder the terminals up:

    I have a mini test program that lights up these LEDs at green to show that the LEDs are correctly connected. If they don't, one or few of them will be defaulted at blue at start.

    Connecting the LED in the wrong direction permanently breaks it. And yeah, clumsy me, I had one broke because of that!

    I had attempted to purchase a string of PL9823s from Taobao, but the store wasn't active anymore. If you can get hold of the premade string, get them so that you can spend more time decorating or improvising the code inside.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates