Arduino Nano33 BLE – LSM9DS1 IMU

Nano with IMU

The Arduino nano33 BLE and BLE Sense have a 9 axis IMU on board. Sparkfun have a good page of information at LSM3DS1 Breakout Hookup Guide. The page is about their breakout board but applies equally well to the IMU on the Nano 33 board.

This IMU has some quirks though. Notable among those is the observation that the datasheet is slightly confusing about the magnetometer axes. Although the X, Y and Z axes are oriented the same for all three sensors, for some reason,figure 1 in the datasheet shows the chip rotated for the magnetometer axes.

On the Nano33 BLE, the IMU is installed so that positive X is along the long axis of the board in the direction of the ublox module, positive Y is to the right if looking along the X axis and positive Z is upwards. Gyro rotation is positive for clockwise rotations looking along the positive direction of an axis.

Although te IMU can be connected through either SPI or I2C, the Nano 33 BLE uses only I2C. While this is convenient on a board where many sensors can be connected, it will limit the data transfer rate to about 400k bits per second. For typical use cases involving the nano 33, that will not be a problem. Since only the I2C pins are connected, it will not be possible to make use of the other pin functions like data-ready or the interrupts.