Test Description: Testing the function of the MMC5983 using the I2C interface on the MMC5983-B development board.
Completed: 30/05/2025
Documented by: Riley Sweeney
Resources Required:
Tools:
Hardware and Equipment: Breadboard, Adalogger M0, MMC5983 development board, computer with Arduino IDE, jumper cables
PPE: Use ESD bracelet and mat when handling any electronic hardware.
Verification Activities: R-ARC-ADC-020, R-ARC-ADC-022
Pass Criteria: Provide a description of pass/fail criteria for each verification activity, including acceptance tolerances.
Attach the Adalogger M0 and the MMC5983-B to the breadboard.
Connect the ground pins on both devices to the negative line on the breadboard, and connect the negative line to ground.
Connect the 3V pin on the Adalogger to the Vdd pin on the MMC5983-B.
Connect 27 KOhm resistors to the SDA and SCL lines on the MMC5983-B.
Connect the SDA and SCL lines on the Adalogger to the other end of the respective resistor.
This test uses the SparkFun MMC5983MA Arduino Library to operate the magnetometer from the Adalogger. You will also need to #include Wire.h and SD.h for I2C communication and saving telemetry to the SD card.
The software sets up I2C, the SD card file to save data to, and the magnetometer object. The main loop simply gets a new measurement in each axis and scales it to Gauss before saving to a .csv.
Plug the Adalogger into a computer via USB to power it on. It should take a second or two to setup the SD card and file.
Pick up the breadboard and smoothly rotate it 90 degrees in any one axis. Hold it there for a second, then rotate it back.
Repeat this rotation in the other 2 axes, then set the breadboard down.
Unplug the Adalogger or press the reset button to finish data collection.
Remove the SD card from the Adalogger to put into a PC.
Transfer the .csv from the SD card to a PC.
Open the .csv in Excel.
Create a scatter plot of MagX, MagY, and MagZ data as a function of time.