[solved] TLC5940 and SPI ground problem

Hi,

I'm trying to drive a lot of LED using cascaded TLC5940 however for some reason I have some problems with the ground of my PCB / power supply / arduino. Sometimes, to make one of the TLC working I have to put a wire from it's ground directly to the arduino ground (even if it's already connected to it though the PCB), otherwise the SPI communication is broken. I thought it was a ground loop problem however sometimes I have 10 TLC working and when adding one more, everything stop working again! It's strange. It also happened when switching off my power supply, then the TLC didn't do anything after the next powerup.

For now, I've been powering everything, including the Arduino, LEDs and TLC with a 5V regulated from a PC ATX power supply, ground is shared between the TLC and Arduino and PowerSupply. I don't know why but sometimes one TLC burn (I burnt 6 TLC :confused: ), sometime it get very very hot... I have a 2K resistor for a current limit of 20ma, a decoupling capa of 100nF around all TLC and 3 big capa at the top of the PCB powerline.

Attached to this message are the schematics of my PCB and its routing. Is that a problem if I share the +5V of the TLC and the LEDs and the Arduino ? I don't know what's the problem here but it's definitely turning around the ground signal... Back in the past when I was trying led by led channel and using only my Arduino without any external power supply it was working fine.

Thank you very much,

[EDIT] problem apparently solved by shortening my SPI cable from 1.2m to 5cm and ground from my arduino to PCB from 30cm to 7cm. Seems to work nicely now... I hope no more TLC will burn!

Stephane