Tonight I got the MinM smart LEDs doing their thing.
This required a bunch of steps:
- Soldering a four-pin header onto each MinM
- Writing a program to give an individual address to each MinM
- Labelling the little buggers, because I’m sure to forget which is which
- Wiring up a poor-man’s parallel I2C buss and putting the MinMs on it
- Writing a little program to send them individual commands, by address
You can see the result above. This tiny test program just changes the color of all five MinMs by address to their own random color every 250 milliseconds. Even though the MinMs are changing color in sequence, the changes happen so fast that they appear to happen simultaneously.
Just how fast can I change all these LED’s colors? That’s a key question of course, and one that I considered before starting to spend money on this project. Here’s the math:
Numer of LEDs: 50
Bytes to change one LED to a different color: 5
Bits per byte: 8
Extra bits (protocol overhead – just a guess): 2
I2C network bandwidth: 100K bits per second
So to change all 50 LEDs to a different color, I have to move 2,500 bits over the I2C network. And with 100K bits/second of network bandwidth, that means I can change all the LEDs 100K/2.5K = 40 times per second. That’s easily a comfortable “frame rate” for what I want to do.