Please or Register to create posts and topics.

Understanding the IMU

The IMU (inertial measurement unit) of the RoboHeart, LSM6DS3TR-C from STMicroelectronics, combines a 3D accelerometer and a 3D gyroscope. These sensors provide continuous and energy-efficient motion and orientation detection. The 3D accelerometer measures acceleration in all three directions (X, Y, Z) with selectable ranges from ±2g to ±16g, while the 3D gyroscope measures angular velocity in three axes with ranges from ±125 to ±2000 dps.

The IMU offers various predefined interrupts that are activated when certain events occur, such as the free-fall interrupt, which detects free fall, or the wake-up interrupt, which reacts to movements. In addition, specific movement patterns and events can be configured, which are reported to the INT-IMU pin.

With the interrupt function of the IMU you can program very interesting projects, e.g. you can put the RoboHeart into a "sleep mode" to save energy and only when someone nudges it, the INT-IMU pin is automatically pulled high by the IMU and wakes up the RoboHeart (puts it into active mode). You can even go one step further and connect an external board to the INT-IMU pin and use the wake-up signal for the external board.

Note that the IMU-INT pin is connected internally on the RoboHeart to GPIO39 of the ESP32 if you want to use this pin.

With our example sketches in the Arduino-compatible library, you can display the measurement data of the IMU without having to write a single line of code.

Shopping Basket