I am currently trying to gather data from the BMI160 shuttleboard after successfully having done so with the other BMIs.
However, with this one, when I print the gyroscope values (and magnetometer) they do not change but are fixed. However, the accelerometer ones do change.
The pin layout I have is 3.3V to pins 1,2,8,9,15 with a pullup resistor. SCL and SDA to pins 16 and 17 with pullups and Ground to pin 3.
I also have set commands to turn on the gyroscope and accelerometer to register 0x7E with values 0x15 and 0x11 respectively. I also wait more than the required time before acquiring data once they are powered up.
I also read register 0x03 in order to check whether the gyroscope is powered on and I get 0x14 as a result indicating that the gyroscope is indeed on. However, when reading register 0x1B to check if the gyroscope is data ready, the 6th bit (so the one for the gyro) is equal to 0 indicating that it is not data ready.
I was wondering what I was missing in order to refresh the gyroscope data.
Thanks in advance,
Solved! Go to Solution.
For shuttle connection, 3.3V goes to 1, 2, 15 without pull up register then SDA / SCL goes to pin 17 / 18.
You enable the acceleration and gyro at the same time in sensor, what is the respective ODR for them?
In BMI160, the sampling of accel and gyro are based on same clock base. And both new data are generate at same time point. in this case, when you got interrupt and read from 0x1B, you are able to get both data ready for accel and gyro. and the status is read to clear means after first read, you read it again, the data ready indication will be 0 .
So if you enable both data ready interrupt for accel and gyro, in one interrupt response routin, you shoule able to get bit 6 and 7 in relative register.
Re: BMI160 IMU Gyroscope data does not update
I am using the BMI160 shuttle board for my application with SPI connection. My application is to have continuous accel/gyroscope. I have two questions with regard your answer:
1- Does this wiring configuration work for SPI as well?
2- Do I need any interrupt for having the accel/gyroscope data?