Robotic joint strange rotations

Im making an extendable robotic arm type thing from 4 parts each allowing for rotation along a different axis.
I have setup some bones and some rotation limit contraints as well as some rotation copy contraints to get the movements i want.
the problem is when I rotate a bone somewhere at the start of the chain, at some angle, the end of the chain starts to rotate instead of keeping its orientation relative to the previous bone in the chain.
Essentially the rig curls itself up when I rotate the root bone. I hope someone understands.

Ive attached the .blend file of the simplified rig(I intend on duplicating it 3 or 4 times, and attaching them together, to get a nice and long arm). if someone wouldnt mind having a look and tell me what im doing wrong that would be awesome.

Attachments

testRig.blend (460 KB)

Is this what youre after ? I turned off the inherit rotation option on your child bones you will find it in the bone properties tab

Attachments

no_Inherit_.blend (110 KB)

Ah thats pretty close to what I want, but Im still getting some weird rotations. If you try to rotate each bone 90 degrees in their respective axis of rotation(each bone is only allowed to rotate in one axis), look at what happens to the last bones in the chain. I dont understand why this happens