Meet MBLed, a set of interactive 8×8 LED tiles. Put them next to each other and they will orient themselves into a video screen which is the sum of the parts. If this sounds familiar it’s because we’ve seen the concept before in the GLiP project. [Guillaume] tells us that MB Led is the new version of GLiP and from what we’ve seen they’ve made a lot of progress.
The hardware is well designed. A PCB hosts the STM32 microcontroller and a pair of pin headers which receive the RGB LED matrix module. A pair of AA battery holders make up the legs for the device. Each has infrared receiver/emitter pairs on each of the four edges and constantly polls for its neighbors.
What really impresses us is the algorithms they’re using for communications. FreeRTOS runs on the ARM processors, and a series of messages was developed which allow the blocks to elect a leader, and follow its commands via the distributed system. Check out more about those algorithms on the page linked above, and join us after the break to see the demo video.
[youtube=http://www.youtube.com/watch?v=dxhkEBGJZMA&w=470]
PURE. WIN.
The way you say “Elect a leader” is only a little scary ;-)
^:)^
I am pretty sure these things will learn to take over the world.
Pure genius, I’d love to see a larger matrix of… Matrices in the future.
Absolutely fantastic!
Any chance of getting copies of the boards for us mere mortals to play with ?
This is very impressive, so may possibilities especially with such a versatile and robust implementation!
These guys are geniuses. It’s a very simple physical design implemented perfectly in software. I wanna play.
The hardware cost on the things Is Very high, but they are super cool. I would say a job well Done!
Shortly after GLiP was published last year, I happened to be in Paris on vacation and got to meet the students who created it. Very sharp, creative crew of students. The professors were also great, very involved in their students work (unlike in the US).
I’d be curious to know if the MB LED guys are using the same (or similar) hardware. The GLiP tiles used IR to communicate. One of the biggest challenges they had was finding a way of “sealing” the IR interface between tiles, so the IR signals didn’t “leak” to the next tile over and confuse it. They finally resorted to little foam seals around the IR transceivers to block the IR light from escaping.
Of course, some of us punted and and resorted to a global communication bus:
http://www.puzzlemation.com
@cirictech is right, the tiles are very expensive – figure at least $50/each for a configuration like these – probably much more if parts are purchased in < 100 quantity.
Oh how I want some of these!
Very impressive!
@J.Peterson : they actually use the same hardware (or slightly modified) since in French schools we have ideas but not much money and these little things are expensive when not produced in large numbers. (I would say that the 16 cost 1000$).
I have done this course a year ago and this is the most incredible course I have ever done. You can check out the other projects there : http://www.rfc1149.net/rose2011/ (last posts are in english)
Nice demo, and I’m sure there asr some interesting algorithms involved in that adaptive behavior, but this seems to imply that the application running and all data it uses is self-contained and duplicated in every single tile. This sound rather extremely redundant to me.
Wouldn’t any real-world application involve some sort of external data source for stuff to display? Wouldn’t that automatically designate the leader by definition (Hey, I gots me some data, now start displaying what I tell you)…?
@MadMax
Disadvantage to the way you suggest would be that the master tile would be pumping out 24 bit color pixel data for every pixel on every other tile through the IrDA ports. Having all tiles already have all graphic data would mean the only communications you would need is sync and control commands.
I’m just theorizing, but I’m guessing it was easier to be redundant in memory with less communications overhead.
This project is pretty sweet, and I’ve been looking for something to build while learning FreeRTOS and 32 bit Cortex cores. I think I’ll be replicating this from scratch.
Very nice !!!