Comments: Qwiic Magnetometer (MLX90393) Hookup Guide
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Is the I2C address 0xc0 correct? I think it should be "0x0c".
I couldn't get these example codes to compile with the board set to qwiic redboard Artemis. I had to use the qwiic redboard uno.
From your comment, it sounds like the original library was written for the ATmega328P. I do not know the exact details on how to do this but for different architectures (i.e. ESP32, ESP8266, Teensy, or SAMD21), you'll need to include a few extra lines for preprocessor directive in order to compile for the "apollo3" architecture. Depending on the example code, this can be a simple few lines if it is not using specific registers.
The best might be to post in the Artemis forums with the library to see if one of our reps or anyone in the community can help with the 3rd party Arduino Library.
While bulky, the easiest solution would be to use the ATmega328P to send serial data from the MLX90393 to the Artemis.
Great module! Thanks.
If you've found an issue with this tutorial content, please send us your feedback!
The provided library seems to have a bug. When exposed to a gradually increasing magnetic field by slowly moving the sensor towards a permanent magnet, the field strength reading will increase in magnitude and then unexpectedly switch signs at a repeatable distance that is dependent upon the gain setting. The firmware appears to be reading some subset of the incoming data bits and assuming the MSB is a sign bit. An updated library would be greatly appreciated.