Hello to everyone and happy new year!
I have made a design with BNO055 for a handheld device, unfortunately as the title suggests I get a horrifically high current draw when in suspend mode. The design is textbook, same as the one suggested in the datasheet. PS0 = 0V, PS1 = 0V, Address (COM3) = 0V, bootloader inditor pin shunted at 0V (as indicated by datasheet, but later found out it is wrong, more on that below).
I know the COM3 has a weak pull-up, I removed the address pin to ground, no change (address changed normally so I would guess it´s not my soldering) I also dug out the bootloader pin, again no change. In between I changed also boards and IMUs to be sure that either is shot by a bad connection. Still the same... I also changed the suggested internal regulator (CAP pin) value from 100n to 1u as indicated, still no luck.
Due to the lack of space this capacitor is mounted directly under the IMU and the connection made through a vias. I would like to think that this is not cause for distress. I tried also with bigger values (10uF) and changing to a tantalum (10uF), still no luck.
Please note that the BNO055 is soldered on a multi-layer board and there is a dedicated power plane for the positive supply. The plane is at 3.3V, it is shared between the application processor and the IMU, so there is enough distributed capacitance around (>10uF) plus a dedicated 100nF capacitor under the BNO055. I would also like to think here that the inductance of the vias is not enough to cause such a major concern here. I am at a loss as of what might be the problem.
The suggested current consumption when in suspend mode is 40uA, having 3 times as much is a bit unacceptable, as it brings the battery life from 5 - 6 months to barely 1.5 months at stand-by. (the rest of the board consumes 9 - 10uA when in suspend mode).
I am furthermore aware of this post here, but unfortunately there does not seem to be a clear answer to the problem. https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/High-current-consumption-of-BNO055/td-p/...
What´s a bit of "worrying" is that all others also reported a similar current draw of about 180 - 190uA in suspend mode. Most probably it is a pull up somewhere that is causing the problem, and it is most likely not the address pin pull up (double and triple checked everything, pin floating). Still, any direct input from you, would be quite helpful!
Thanks a lot in advance!
Sorry it took me a while to reply, my code is not in it´s final stage and had to write extra that part.
Yes I am getting that I am using the 3.11 firmware version.
Provided that the following pseudo-code is correct (translating the stored pseudo-ASCII hex to ASCII):
temp_str = (MSB % 16) + 0x30;
temp_str = (LSB / 16) + 0x30;
temp_str = (LSB % 16) + 0x30;
then 3.11 is the firmware version that I am getting.