.. highlight:: java BMI160 Gyroscope ================= As previously mentioned, the `BMI160 `_ is a 6-axis IMU that has both an accelerometer and gyroscope. The gyro sensor on this device is represented by the `GyroBmi160 `_ interface and uses the Coriolis effect to measure angular velocity . :: import com.mbientlab.metawear.module.GyroBmi160; final GyroBmi160 gyroBmi160 = board.getModule(GyroBmi160.class); Angular Velocity Data --------------------- To retrieve angular velocity data, add a data route to the async data producer returned by the `angularVelocity `_ function. Data values from that async producer are represented by the `AngularVelocity `_ class. :: gyroBmi160.angularVelocity().addRouteAsync(new RouteBuilder() { @Override public void configure(RouteComponent source) { source.stream(new Subscriber() { @Override public void apply(Data data, Object ... env) { Log.i("MainActivity", data.value(AngularVelocity.class).toString()); } }); } }).continueWith(new Continuation() { @Override public Void then(Task task) throws Exception { gyroBmi160.angularVelocity(); gyroBmi160.start(); return null; } });