From Trammell Hudson's Projects
I've written the LEDscape "firmware" for the BeagleBone Black that uses the PRU ("Programable Realtime Units") to drive 64 RGB matrices or 32 of the WS2811 LED strips with 0% CPU load. This allows all of the ARM's CPU time to be used for rendering frames into a buffer, which is then clocked out at the high speed 800 KHz rate to the WS281x strips or at a 1 MHz clock to the matrices. This rate allows 544 meters of strip / 64 31x16 LED matrices to be drawn at 30fps. Since the PRU can read any of the ARM's RAM it is possible to change the frame buffer pointer on every frame for easy double-buffering. Brief, disorganized notes on setup for the PRU.
My Projects built with LEDscape
The Disorient Camp at Burning Man built a 7m tall pyramid with over half a kilometer of LED strips. I wrote the low level firmware that received the UDP packets and sent them to the LED strips, as well as helped built the pyramid on site in the Black Rock desert. More details at NYCR and source for the pyramidSimulator / pyramidTransmitter are available.
Hexscroller is pretty neat, but I felt it was two sides and two colors short of awesome. So I built Octoscroller from 16x32 RGB LED panels, a BeagleBone Black with custom PRU firmware and some 3D printed angle brackets. Still a work in progress. Read on for more details on how it works...
Cubescroller is a six-sided hanging cubical art piece. It uses the LEDscape code and maps it onto a cube of six 32x32 RGB matrices held together with 3D printed brackets and with a BeagleBone Black / Octoscroller cape inside. Still a work in progress. Read on for more details...
MTA Countdown Clock
I'm building a pixel-for-pixel replica of the NYC subway countdown clocks. These tell when the next train will be arriving; my plan is to hook it into the MTA's real-time data feed so that we can display authentic times for our office and hackerspace. Sources are bundled with LEDscape for now. Read on for more details...