Drive 300 WS2812B LEDs with a Padauk Tech PMS150C MCU

There’s not much to be said for Padauk Tech’s PMS150C MCU, other than it’s sorely underpowered for use with just about anything — it hums along at 8MHz, features 1KW OTB program memory, and has 64 bytes of RAM. Even worse, it can only be programmed once, and not overwritten. That said, it only costs 3 cents, and with a little tricky programming, it can even drive 300 WS2812B RGB individually addressable LEDs, which is what Denmark-based developer Anders Nielsen accomplished using the tiny MCU.

Anders programmed PADAUK’s PMS150C 8-bit MCU using the company’s IDE/ICE and programmer toolsets, bit-banging one LED at a time. (📷: Anders B. Nielsen)

The PMS150C was actually designed to work with many peripherals, despite there being no hardware support for any of them, and although there is a community working to make an open toolchain for the chips, Nielsen decided to use Padauk’s IDE, ICE, and programmer to light up the LEDs.

Using the toolsets to create some programming magic in the form of bit banging — instead of dropping every LED in RAM, each LED is addressed using bits.

“The logic for controlling the LED’s is pretty simple once you wrap your head around it. Send 24 bits for each LED and end with a delay long enough to make the data latch. In this case, keep each bit around 1.25uS, a “0” is a short high, followed by a “long” low and a “1” is a long high followed by a short low. So simply: High->Low 24 times. Long high for 1, short high for 0.”

For anyone interested in copying Anders build, he documented his process on his blog, complete with a detailed walkthrough and links to his GitHub page for the code necessary to power the LEDs.

Drive 300 WS2812B LEDs with a Padauk Tech PMS150C MCU was originally published in Hackster Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

Original article: Drive 300 WS2812B LEDs with a Padauk Tech PMS150C MCU
Author: Cabe Atwell