I thought it would be interesting to map out how the data flows between the various modules:

The intention is to offload all of the control modules away from the Master, the Arduino Due, so that any timing issues can be avoided - some of the modules use multiple timers and interrupts which would conflict with each other if they were on the same MCU.
The Spark fun compass would only work on the Due itself and even then only through the serial port rather than I2C, which would have been preferred. Coincidentally, it's the only module that is not giving reliable results, so I figure it will need to be replaced at some stage.
Good news is that everything else works nicely and the data flows around the modules without any glitches. Especially remarkable is the Ublox C94 M8M, which is working much better than previous tests suggested. I'm going to try and do some long term data logging to greater assess it's performance, but currently it seems to be giving reliable fixes within a total deviation of 40 mm (20mm either sides of centre) about 95% of the time. (Must brush up on some statistical analysis maths).
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
And... this one... a bit more.... high end...
https://www.tinkerforge.com/en/shop/bricks/imu-v2-brick.html
Are you sure? yes | no
We were excited about your project (working on something... somehow with similar characteristics in terms of control). Like you, we found the magnetometer as a tough challenge. Did you find a better one ? What about this (tilt compensated etc.). We don't have it yet..:https://www.aliexpress.com/item/AHRS-Module-Compass-Modules-Sensor-Tilt-compensated-Serial-SPI-Interface-BEST/32722565072.html
Are you sure? yes | no