Looks like a commercial LED display sign… right? Not even close. This is a project of [Jon’s] from over a year ago, and it is a very impressive 128×32 LED display board, driven using a single Raspberry Pi.
It’s made of eight “P10” 32×16 LED panels that he bought off of eBay, housed in a wooden frame he built himself. The display runs off of a single Raspberry Pi and can receive a video signal from anything with an Ethernet port. The individual boards are daisy-chained in a rather odd arrangement to minimize cable length, which [Jon] says helps with clocking the data fast — he’s able to parse 2 bits per pixel to refresh the display at an impressive 400+ frames per second.
To power the display, he’s using a single ATX power supply with the Pi connected to the standby 5V power line. This is to avoid a voltage drop which might cause the Pi to crash — when all LEDs are on the display can draw a healthy 32A of juice. The P10’s use shift registers to serially load the pixel data. At any time, the 4096 pixel display can have 1024 pixels on, which means a fairly fast clock is required to update the display.
[Jon] has shared all the source code on his blog, and has a fairly in-depth explanation of all the systems used. Check it out for yourself, and don’t forget to stick around after the break to see the display in action!
It looks like there is a bug in link:) (132 instead of 32)
“impressive 128×132 LED display board, driven using a single Raspberry Pi.”
Maybe, it’s 128×32 LEDs?
Was this exhibited as a work-in-progress at the Bristol Raspberry Pi Jam? I took a photo there of something very similar:
http://www.flickr.com/photos/anachrocomputer/7830861438
He has another video on his website where he’s playing with the same music player he has hooked up in your video, so looks like a yes. :)
Awesome stuff!
Wow. That’s awesome. I wanna build one!
Since you already have 2-bit color at 400 FPS, how hard would it be to do 8-bit color at 100 FPS?
Nice, but I see he’s using the CPu to fiddle with the output pins directly. You can get waaaay faster performance by grabbing a chink of memory as a ‘frame buffer’ of whatever you’re going to send to the board and then using DMA to feed that data to the GPIO pins. I take that approach on my own LED-board (http://spritesmods.com/?art=ledboardsolari) and get (from memory) 5-bit color on a dual-color 224×48 display. Added adcvantage: zero CPU-load if the image is static!
*chUnk of video memory
128×32 = Pinball Dot Matrix Display size. Interesting!
I like it!
nice project James !
I would be very interested to do something similar, however the current drawn is too high for my liking.
Would it be possible to find some LED matrix drawing significantly less current ?
I am hoping for less than 100mA/1k pixels
A few LED matrix that I thought could be interesting:
http://www.amazon.com/LED-Matrix-8×8-Triple-Display/dp/B007ZK4I10/ref=sr_1_1?ie=UTF8&qid=1400174667&sr=8-1&keywords=led+matrix
datasheet:
http://www.nooelec.com/files/GTM2088ARGB-28.pdf