-
-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BMI160 tracker only working with extra invisible IMU #277
Comments
Check the AD0 connection on the sensors, they need to match the address in the descriptor. For BMI160, You could reset the tracker with serial console open to see more detailed IMU initialization logs. |
hi, thanks for this. I can confirm I am having same issue with BMI160 and Wemos D1 Mini, having both diode protection and battery level check resistor ast A0 (possibly the culprit), using the defines.h code with non existant aux imu finally makes my imu working instad of error, while using only 1 imu without ghost aux imu, cause only error as if the IMU is broken. thankfully i searched for related issue on github after anothr 2 of my imu isnt working which is too suspect. |
Hi! Could you solve it? I have exactly the same problem... |
By AD0/SA0 he means the second ground wire on the main BMI160. This is the I2C Address selector for the BMI160. |
What setup do you have? (1x D1 mini 2xBMI160) or (1x D1 mini 1xBMI160)? On the firmware prior to 0.3.3 the firmware was less strict, and did not generate a ghost tracker when there was only 1 imu connected and that one did not have the correct i2c address. In the newer firmware it will create a ghost tracker for main and then assume that the other tracker is a extension. If you have the sa0 grounded on the extension instead of the main, you need to change the following line in the defines.h: #ifndef IMU_DESC_LIST
#define IMU_DESC_LIST \
IMU_DESC_ENTRY(IMU, PRIMARY_IMU_ADDRESS_ONE, IMU_ROTATION, PIN_IMU_SCL, PIN_IMU_SDA, PRIMARY_IMU_OPTIONAL, PIN_IMU_INT) \
IMU_DESC_ENTRY(SECOND_IMU, SECONDARY_IMU_ADDRESS_TWO, SECOND_IMU_ROTATION, PIN_IMU_SCL, PIN_IMU_SDA, SECONDARY_IMU_OPTIONAL, PIN_IMU_INT_2)
#endif to: #ifndef IMU_DESC_LIST
#define IMU_DESC_LIST \
IMU_DESC_ENTRY(IMU, PRIMARY_IMU_ADDRESS_TWO, IMU_ROTATION, PIN_IMU_SCL, PIN_IMU_SDA, PRIMARY_IMU_OPTIONAL, PIN_IMU_INT) \
IMU_DESC_ENTRY(SECOND_IMU, SECONDARY_IMU_ADDRESS_ONE, SECOND_IMU_ROTATION, PIN_IMU_SCL, PIN_IMU_SDA, SECONDARY_IMU_OPTIONAL, PIN_IMU_INT_2)
#endif Thanks for a replay in advance. |
Hello! I am writing because I had the exact same issue: I have also connected a BMM150 auxiliary magnetometer to it, but it is not picked up, should I open an issue for this? |
BMM-150s don't work properly with BMI-160s currently, someone needs to figure that out. |
Hello,
I have been having issues getting my 2 IMU tracker to work, they are identified by slimeVR but the IMU's say working:false in the serial console. This is weird because my other tracker I got working yesterday was perfectly fine, but I decided to see if it was the firmware by changing the firmware of the working one. I could not remove the ghost IMU or else the actual one would not work at all, and the only defines.h i could get working was this:
(while this one would not work:)
When I tried to flash it to my second tracker It did not work at all, with or without the second IMU connected. My first question is why my 1st one only works with that specific defines.h and the second one does not work with anything at all (I triple checked the wiring though it may be a faulty sensor.)
Sorry for the confusing question, any help would be appreciated
The text was updated successfully, but these errors were encountered: