Main Content


Read one sample of angular velocity from sensor



[gyroReadings,timestamp] = readAngularVelocity(sensorobj) returns one sample of the angular velocity data on x, y, and z axes read from the sensor in units of rad/s along with the timestamp. Timestamp is optional.


The readAngularVelocity function is available for the LSM6DS3, LSM6DS3H, LSM6DSL, LSM6DSM, LSM6DSR, LSM6DSO, MPU6050, MPU9250, and LSM9DS1 sensors.


Read Angular Velocity

Create an Arduino object and include the I2C library.

a = arduino();

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 for the sensor in use.


The sample code and output in this example is for mpu9250 object. If you are using another sensor that supports readAngularVelocity function, use the corresponding sensor object.

sensorobj = mpu9250(a);

Return one sample of angular velocity data.

gyroReadings = readAngularVelocity(sensorobj)

gyroReadings =

    0.0138    0.0092    0.0034

Input Arguments

collapse all

The sensor object.

Output Arguments

collapse all

The angular velocity value on x, y, and z axes read from the sensor.

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

More About

collapse all

Code Generation Using MATLAB Function Block

  • Use readAngularVelocity 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