Main Content


Read one sample of angular velocity from sensor

Add-On Required: This feature requires the MATLAB Support Package for Arduino Hardware add-on.



[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, LSM9DS1, ICM20948, and ADIS16505 sensors.


Read Angular Velocity


Required libraries must be flashed to arduino object before using the sensor. For example, to read data from MPU6050 sensor using mpu6050 object, I2C library is required. Similarly, for the ADIS16505 sensor, SPI library is required. To flash the arduino with required libraries use the Libraries Name-Value Pair arguments during arduino object creation.

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.

Version History

Introduced in R2019a