Nano 33 BLE IMU Calibration

I'm trying to use the built in IMU using the library Arduino_LSM9DS1. Funny thing is the gyroscope values seem to be all over the map when it's just sitting still. Does anyone know if callibration will help? If so, how can I accomplish this on this board?

I've had some luck by first stopping the autoscroll in the serial monitor and taking a general estimate of the gyro offset. Subtract that from the gyro readings then running a smoothing sketch on the results. Also, there's a bunch of calibration sketches out there for the MPU 6050. You might be able to substitute the LSM output. Take a peek at Joop Brokking's YT channel regarding drone gyro calibration.


Is your board the BLE or BLE Sense? I can't get my BLE board to put out any IMU data (serial monitor says "IMU Failed to Initialize!"

It’s the 33 BLE. Did you #include <Arduino_BLE.h> and #include <Arduino_LSM9DS1.h>?


Yes on Arduino_LSM9DS1.h... That was in the example sketch.

No on Arduino_BLE.h.. I didn't know about that one!

Is there some kind of User Guide for the nano 33 BLE somewhere?


I added #include . Deosn’t make any difference - IMU won’t initialize…

I'm afraid I don't have any real answers. I'm not much of an Arduinoite. My "success" has come from trial & error and divine intervention. I ran the LSM9DS1 SimpleGyroscope without any modifications and it runs fine. I think perhaps check to make sure the Arduino Nano 33 BLE is selected under Boards, the correct serial port is selected, and the correct programmer is selected. I'm using AVR ISP but I don't know if that's correct or not.


Thanks… I’m in the same boat as you - trial and error. I’ve done everything recommended and nothing has worked, so it may be a bad board. Thinking now I’ll probably buy another one, since I know at least some others have gotten the IMU on the nano 33 BLE to work…

FYI - In my case the conclusion from Arduino is I have a bad board. Getting a replacement.