Pixelblaze Pro Output Expander
Drive 8 to 64 channels of addressable LEDs over a serial port from Pixelblaze or an Arduino/Pi with 600/800 pixels per channel.
The ElectroMage Pro 8x WS2812/APA102 LED Driver, also known as a Pixelblaze Pro Output Expander, drives up to 8 independent sets of addressable LEDs, while providing up to 15A power distribution with fuse protection. Up to 8 driver boards can be used together for up to 64 independent output channels.
This LED driver was designed for Pixelblaze, but can be used with just about any microcontroller's serial (UART) port(s), Raspberry Pi, USB serial adapters, and even software serial implementations. The input serial protocol runs at 2Mbps which allows up to 66k pixels/sec to be drawn per serial line, about twice the speed of typical WS2812.
Power Distribution & Protection
An input main fuse + 4 independently fuse-protected power outputs provide protection against accidental shorts and other problems that can damage equipment or cause fires. Blown fuse indicators make it easy to troubleshoot any issues. Fuses are replaceable with common automotive mini blade type fuses.
Power support is available for both 12V and 5V power supplies and LEDs via an optional DC-DC converter, which generates 5V for the on board electronics and up to 500mA for an attached Pixelblaze or other controller.
Addressable LED Support
The 4 output ports have 2 independent output channels each, for a total of 8 output channels.
Supported LEDs (and compatibles):
- WS2811 / WS2812 / WS2813 / WS2815 / SK6812 / NeoPixel
- APA102 / SK9822 / DotStar
For WS2812 types, you can drive up to 8 independent outputs.
For APA102 types, 4 outputs are easily driven by using a clock + data pair on each output. Clock signals are sharable, so it is possible to share a single clock output and have 7 APA102 data outputs.
You can mix and match APA102 with WS2812 on the same board by specifying each channel's type. The output channels are level-shifted to 5v with 100 ohm impedance matching resistors for twisted pair like found in CAT 5/CAT 6.
The protocol allows for up to 8 driver boards to run from the same serial line, with on board switches to set the address. Pixel data is buffered, and displayed simultaneously across all channels, and includes CRC error checking to prevent glitches.
Since data is buffered on this board and the protocol doesn't have any timing requirements, you can calculate pixel data on the fly and there's no need to buffer anything on your micro, freeing up memory.
Each channel can have its own LED color ordering setting, and can support a mix of RGB and RGBW across channels or LED types, and any mix of length, up to 800 RGB pixels or 600 RGBW pixels per channel for the WS2812 / NeoPixel types, and 600 LEDs for the APA102 / DotStar types. That's up to 6,400 pixels per board, or 51,200 with eight!
Status LEDs and Troubleshooting
There are 7 status LEDs that help narrow down any problems during troubleshooting:
- Main power blow fuse indicator.
- Four output blown fuse indicators.
- The orange power/status LED - pulses if there is power but no data, or solid when valid data is detected.
- The green draw LED - this lights up when the address is set correctly and data is sent for one of its outputs.
Parts Included & Options
In this kit you get the driver board with pluggable screw terminals, along with fuses to get you started. It's sold as a kit, only requiring soldering of the the Pixelblaze / data port screw terminal. Pixelblaze can be mounted directly as well.
- Voltage options: 5V, or 12V with an installed DC-DC converter.
- 15A main fuse, and 5A port fuses.
Using with Pixelblaze
To use with Pixelblaze, change the LED type to "Pixelblaze Output Expander" - then click on "Add Board" for each connected expander board. The interface will let you set up each channel's type, start index, pixel count, and color order. A count of zero effectively disables that channel.
Using with Arduino, Raspberry Pi, and more
Originally designed to expand output options for the Pixelblaze, this driver board can be driven by just about any micro. There's a growing community of folks working on using these in their projects!
Drivers, Libraries, and Apps
- Arduino ESP8266 Driver
- https://github.com/zranger1/expander-universe Lets you drive addressable LEDs with your computer, a USB->Serial adapter in Processing
- https://github.com/bosporos/libpbx A C library for controlling the Output Expander / Serial to 8x LED Drivers
- https://github.com/derwentx/js-pixelblaze-expander A NodeJS Library for controlling the Output Expander / Serial to 8x LED Drivers