Main Content


Read one sample of magnetic field from sensor



[magReadings,timestamp] = readMagneticField(imu) returns one sample of the magnetic field data on x, y, and z axes read from the sensor in units of µT (microtesla) along with the timestamp. timestamp optional.


Read Magnetic Field

Create an Arduino object and include the I2C library.


Or, you can explicitly specify it in the Libraries Name-Value pair while creating the Arduino object.

clear a;
a = arduino('COM4', 'Uno', 'Libraries', 'I2C');

Create the sensor object.

imu = mpu9250(a);

Return one sample of magnetic field data.

magReadings = readMagneticField(imu)

magReadings =

   16.2797    9.1711  -19.0969

Input Arguments

collapse all

The IMU sensor object.

Output Arguments

collapse all

The magnetic field value on x, y, and z axes read from the sensor.

The time at which MATLAB® receives magnetic field data from the sensor, specified as a datetime.

More About

collapse all

Code Generation Using MATLAB Function Block

  • Use readMagneticField in a MATLAB Function block with the Simulink® Support Package for Arduino® Hardware to generate code that can be deployed on Arduino Hardware.

  • Timestamp returned is always in seconds.

Introduced in R2019a