Electrical – How to interface matrix LED with beaglebone black

beaglebone blackled-matrix

I'm a newbie to electronics and for my project I need to control a matrix LED with beaglebone black. I bought a LED click board (https://download.mikroe.com/documents/add-on-boards/click/4×4-rgb/4×4-rgb-click-manual-v100.pdf).

The problems is that I can't find any example on how to control a matrix LED from beaglebone. I've tried reading up on protocols like SPI [https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/spi] (I think this click board uses SPI) but no success.

It would be great if anyone can guide me on how to address the LEDs in the matrix via beaglebone. As there is only 1 pin (RST) on my board that connects to the LED. So I assume I have to send bit signals through this pin.

Best Answer

I bought a LED click board

That board uses an array of WS2812 LEDS which have a built-in controller in each LED.

The datasheet explains the control signal timing and how the signal is cascaded through a series of LEDs like those in the matrix on your board.

I think you can probably ignore the RST labelling and use any General Purpose IO pin as the source for the control signal.

I need to control a matrix LED with beaglebone black

The Sparkfun hookup guide for their single-LED WS2812 breakout says

the interface is very time-specific. To run the LEDs you’ll need a real-time processor, like an Arduino; microprocessors like those on the Raspberry Pi or pcDuino can’t give you a reliably-timed pulse. Even if one bit is less than a microsecond off, that could mean the difference between purple and maroon.

So the Beaglebone is probably not going to be able to reliably communicate with those LEDs by itself. You might need to delegate the task to a suitable microcontroller.

Note that,as far as I understand it, AdaFruit call the WS2812 LED a NeoPixel and provide NeoPixel libraries for the Arduino. You might, for example, use the Arduino IDE to program an 8-pin ATtiny85 or similar microcontroller IC and use that on a BeagleBone prototyping daughterboard ("cape").

Doubtless there are also WS2812 libraries for other microcontroller families and for other microcontoller development toolchains.