Adafruit 16 channel Servo board

I am hoping someone can assist with a project I am working on.

I am completely dumb founded on this.

I am using the Adafruit board to control servos on a model train layout (track switches). I have a multi layered model train layout and am using Arduinos to act as CMRI nodes and they are all connected (via RS485) and talk to my pc running JMRI.

What I am having an issue with is this, I use a MEGA with one of these boards and when I command any servo to move it behaves normally. When I run literally the exact same code on an UNO with its own Adafruit board the first 8 servos won't respond, and the next 8 regardless of which I choose, will cause the final 8 to all "twitch" in order from 9 to 16.

Does anyone know if the Wire library compiles differently for an UNO vs a MEGA? I am literally at a loss here and have been staring at my code for weeks and re-writing it different ways to try and get this resolved but no matter what I do it acts the same.

I have tried swapping the Adafruit boards around but it does not matter which board I use they behave the same way when using the UNO. I have added pull up resistors on the SDA and SCL lines, I have tried specifying a clock speed. I really don't believe it is hardware and is solely a software compiling issue...

Any help would be greatly appreciated.

Thanks in advance.

Servo problems are very often power related. How do you have this stuff wired up?