Faulty 9 Axes Motion Shield?

Hello forum,

I recently purchased a 9 Axes Motion Shield. I'm testing with an Uno board with the demo sketch Euler.ino from https://github.com/arduino-org/Arduino/tree/master/libraries/NAxesMotion/Euler

While the values for Roll and Pitch seem very stable and behave as they should the Heading value resets itself some time after initialisation to a new base value. See here for example where it jumps on the 3rd line.

Time: 68124ms H: 244.00deg R: -3.38deg P: 25.37deg A: 0 M: 0 G: 0 S: 0
Time: 68144ms H: 243.81deg R: -3.56deg P: 24.75deg A: 0 M: 0 G: 0 S: 0
Time: 68164ms H: 34.88deg R: -3.88deg P: 23.87deg A: 0 M: 0 G: 0 S: 0
Time: 68184ms H: 34.69deg R: -4.63deg P: 23.19deg A: 0 M: 0 G: 0 S: 0

I think there is a fault in the shield, but could there be something that I'm missing, something that needs to be done in the code?

Generally the jump is by factor of around 180 degrees and this reset seems to hold from there on.


Hi, No comments? I've tried various baud rates but this makes no difference and various USB ports. One thing I have noticed though, is that if I initialise and leave the device on the desk without rotating the Z axis more than say plus or minus 45degrees. It stays stable, even over night. If I rotate more than this it resets fairly rapidly, generally within 30 or 40 seconds.

I also tried to download the library from a few different sources but the result is always the same.

If there are no comments/suggestions I'll try and exchange it. My Arduino version is 1.8.1 and I'm running Linux Ubuntu 16.04


I realise that I neglected to solder the interrupt and reset bridges on the shield to use it with my Uno card. I've attached an image of the instructions. Where the join is clearly shown as a red line for the interrupt, does the black mark between the 2 pins directly above indicate the solder join for the reset?

Sorry for my uncertainty, I'm not at all confident with hardware.

All the best,

I think the main problem you're having is that the status codes for each of the sensors is still reading 0. The accelerometer, magnetometer and gyro should all have 3's.

i.e. A: 3 M: 3 G: 3 S: 3

This tells you that the output is useful. The board must be rotated to allow the sensors to self calibrate.

Hope this helps.