project :: led-table

Hi, this is my first project with arduino, a sofa table, boxed down to 8 rows and 4 columns. It has 32 x ShiftBrite modules, an Arduino Mega 1280 and MSGEQ7 chip.

First the plan:

Then we start building process:

Get the hardware together.

The table status now, just ordered the glass, and need to make the table feet.

Here you can see the equalizer effect in action:

The javascript prototype I made before starting the project:

The source files for the arduino:

Any comments or thoughts I may have done better ?


Looks awesome! Let me know if you have any problems achieving a particular effect.

Well done, it looks a cracker.

Thanks guys.

Mace, I'm having problem with some ShiftBrite modules actually.

If whole led array is on (single color or sometimes blending two colors), I get pretty strange behaviour on the last two leds, they flicker.

Also when I set all leds to full power RGB=1023, the led array flickers and display purple or something colors.

Also the first LED has lost its blue color somehow :(

Solid: do you know if the blue LED ever worked on the first channel? Maybe there is a code issue? If it's broken we will definitely replace it for you.

Regarding flickering, this can happen for two reason. First, the data signal could be intermittent or corrupted somehow. This is common if the data cables between ShiftBrites are too long, usually 70cm is the limit. Or the connections/crimps on the cables could be faulty. Or a source of high energy noise is near the communication cables. Second possibility, and I think this is the case...there is voltage drop along the wires and LEDs require a lot of current. For so many ShiftBrites in a chain, we usually recommend connecting extra power cables to the end of the chain, the middle of the chain...basically every 8 to 16 ShiftBrites if possible. But you can just try the end of the chain to test it. Run some good power wires straight back from the last ShiftBrite directly to the power supply connection. If that doesn't work, then you could add some large capacitors to the power lines.

If it's broken

That can be checked by swapping the assumed defective with one that works. Swapping them should be possible, from what I see in the pictures, because of the smart use of headers/connectors between modules.

A third possibility is that there are too many shift registers and you didn't consider the propagation delay between them, which add up to a large enough value so that the moment you flick the enable (or storage) pin, your shifted values have not reached the last two LEDs yet, what they have in their registers are values shifted to them from the other lights, kind of random, so they flicker. If you add a proper delay between shift out and enable or storage, you may get a stable result.

liudr; thats not the case, have tried multiple methods of shift and latching, this one is only one that works, and have tried adding more delay on strobing the latch&enable.

florinc; I'll try swapping out the module, I dont know if it has ever worked before, I have exactly one spare module that I can try replacing with.

mace; I think I will add two more power supplies to the chain, one in the middle and one in the end. I'm running current power supply in 9V@2A. What do you recommend with capacitors, I currently have one 5600µF capacitor between chain and power supply that eliminated most of the flickering I was having trouble with. I also added one 1000µF capacitor before last 4 shiftbrites, that did not solve the problem, so i'm guessing voltage drop too, cause if lower the voltage to 7.5V, I get even more modules flickering.

Another question, what happens if I add 5V power supply on one end, and 9V to the other end, do I end up with 7V (+ voltage drop) ?

You can't connect all those power supplies together. You would need to cut the V+ lines to separate each zone of a different supply voltage. Make sure everything has the same ground connection...