Magnetometer arrived - all parts are working! (Almost) ready to order final boards.

A project log for Open Concentrating PV Solar Tracker Controller

Achieve better than 0.1° sun tracking accuracy with a compass a tilt sensor and a shading beam sun sensor.

Ruediger F. LoeckenhoffRuediger F. Loeckenhoff 09/28/2022 at 21:090 Comments

I received the MXC4005 and added it to the two other breakout boards. It all works together without any issues. I am reading time from PCF8563, magnetic field from MMC5603, acceleration from MXC4005. I am a bit disappointed about the MXC4005. It works very well in x and y but has a -0.4g zero offset in z. I can correct for it in the code during calibration. But yet I expected it to be a bit better. The signal is also quite noisy. Up until now with the MPU9250 (accelerometer + magnetometer) I needed to do oversampling for the magnetometer and a single read of the accelerometer was enough. With the MEMSIC sensors it seems to be the other way round.

In any case, the MEMSIC parts are available and comparably cost effective, so we will continue in this direction and deal with the issues of MXC4005.

****  All parts are tested in combination  ****

****   We are ready for the final boards   ****

Ermanno is already working on the last changes.

Side issue:

What I do like about the MEMSIC parts is their simplicity. You just set a the sensitivity in the registers and start reading. In comparison, the successor of the MPU9250 is ICM20948. It needs a lot of work in the I2C registers before it even starts working. I made it work by evesdropping on the library of Wolfgang Ewald "Wolle" and just banged out the bytes in succession with a delay in between where it was necessary. I couldn't use "Wolles" library itself because it ate away to much of my 32kB program space of the ATMEGA328. The ICM20948 is also quite expensive and has 52 weeks delivery time. Today you apparently need to source by availability. With the MEMSIC parts which are readily available in highest quantities at good prices we made the right choice - even so they are a bit trickier concerning assembly and calibration (in case of MXC4005).