Problem with Arduino - I2C(?) - HPRGB shield


This is my first post on this forum and my first Arduino project. Before I get to the problem, please let me describe why I am trying to accomplish and to some degree have accomplished.

I have designed and built an Arduino controlled RGB lighting system. Yup, another one but still a bit different from most I'd say. I have not created a blog about it but will, as it is an ongoing project. However, you can see some computer craphic renderings that I created with Blender and rendered with Indigo and some photos of the 1st small prototype (1 RGB LED) and the larger prototype ( 5 RGB LEDs. I call it "The Lord of The Rings" or short LOTR) that now finally is hanging on my living room wall;

The Arduino in use is an original Arduino Uno. The LED's I used are Luxeon Endor Star RGB LED's from here
To drive the LED's I used the HPRGB shield from here, which BTW is a fabulous product!!!

Looking at the images of the LOTR (Either the photos or the CG image) there are 5 of these shields installed about 800mm apart. The center shield sits right on top of the Arduino but only connects to it through GND and the two I2C pins (4,5). So the I2C bus cables are each a little longer than 800mm and are CAT6 UTP cable. The wires that connect the shields to the LED are single stranded hookup wires (untwisted) that run from the back of the structure (hidden from view) through solid aluminum tubing except for the last 1.2 - 2.0 where they exit and connect to the shield. I've placed RF Chokes (Ferrite beads) on the individual power supply lines (12V from a switched power supply) to the each shield and to the Arduino.

Running the LED's at 100mA the sytem starts up fine and the LED's cycle through a color scheme for an entire day just fine. However, when I increase the current setting to say 350mA after a while (20min-30min) the system just stops. I placed a little Serial.print("something") in the script to see if it is the shields not responding to the Arduino output or if it is the Arduino and it appears it's the Arduino that just stops cycling the sketch. I can re-upload the sketch/program and it starts cycling but will stop again after a shorter time period.

the period it seems to depend on:

  1. The current setting - it's shorter if I run at 700mA and
  2. on the frequency with which I am updating the PWM settings in the shields.

The designer of the shields believes this to be an issue of signal integrity on the I2C bus but I am bio entirely sure that encompass the entire problem.

I'd appreciate help, comments etc.


How much power draws the Arduino?
IIRC it can handle approx 10mA for longer time per pin => 200mA max. no 700 ....

My system design does not utilize the PWM pins of the Arduino to control the LEDs thus the power draw of the LEDs should have no effect on the Arduino. I currently operate the system with a 12V; 10A; Switched Power Supply, which is more than enough.
The Arduino "talks" to the 5 High Power LED driver shields via the I2C bus and that is the only thing it has to drive. As I stated above the only connection between the Arduino and the driver shields is GND and the I2C (TWI) pins 5,4.

Also, when I talk about 5 RGB LEDs that means of course that there 5x3 = 15 LEDs in the system, which are controlled independently. The Arduino alone does not have enough PWM pins to do handle that if I understand the specs correctly.

OK, sounds good,

Can you post schematics & code? maybe that gives some insight?

when things stop, is there any heated component?