Bosch Sensortec Community

    Showing results for 
    Search instead for 
    Did you mean: 

    BNO055 power on reset issues

    BNO055 power on reset issues

    New Poster

    I'm trying to resolve a persistent issue I'm having with a BNO055 IMU on a custom PCBA. I'm communicating via I2C and am experiencing different behavior between device reset (using "Power on Reset" reset pin) with and without power cycling. In situations where I reprogram my MCU and start directly into my application code without power cycling, the IMU will respond with NAKs to any and all read/write messages. If I power-cycle the system, it works correctly. In both scenarios I'm pulling the reset pin low for ~25ms, pulling the reset pin high, and then waiting for ~725ms before initiating I2C communication. All other signals (COM1, COM2, PS0, PS1, nBOOT_LOAD_PIN) are connected to VDD or GND directly or through a 10kΩ resistor. A partial schematic is attached.

    The firmware is heavily based upon the BNO055 XPlained Pro example code and is being run on a SAMD21G18A.

    Can you help me to understand the differences in behavior between device reset for the BNO055 from an 'unknown' state and from a power-on state? Do I need to set the SDA/SCL lines to a certain level before/during/after Power on Reset?

    Attached are logic analyzer screenshots of the system failing without power cycle (BNO055_noPowerCycle.png) and working with power cycle (BNO055_withPowerCycle.png), as well as a partial schematic (BNO055_sch.png).

    17 REPLIES 17

    New Poster

    I've tried bit-banging an empty I2C frame in case an I2C transmission was interrupted by the MCU being reprogrammed (the clumsy approach here: but haven't seen any improvement from any number of clock pulses - 8, 9, 10, 16, 32.

    Community Moderator
    Community Moderator

    Can you leave a email address since we need some additional information for this issue

    Occasional Visitor

    I too am seeing this issue, the BNO055 works fine on on a power cycle, but issuing a reset by I2C seems to lock up the sensor.
    Did you get this to work with help from Bosch? Thanks for any help in advance.

    Hi chrisc and brentpop,


    We recently discovered a bug in the reset process when the BNO055 expects a crystal to be connected. This means that the BNO055 will fail to reset if there is no external crystal attached.


    To prevent the issue:

    1. If possible, use an external crystal;
    2. If 1 is not possible, avoid triggering a reset after the part has been turned on.


    Current workaround:

    • Until a new firmware is provided, to reset the BNO055 to a known state, write every configuration register to a known value of your choice, such as the default value (or other).


    Future fix:

    • Fixing this issue in the field will require a firmware update to the BNO055 pre-programmed firmware. For this, it will require the host MCU to have a connection to the nBOOT_LOAD_PIN in order to enter the bootloader. More details on the firmware update protocol will be disclosed when the new firmware is available.
    • It is also possible, but not guaranteed, that future BNO055 will be pre-programmed with the fixed version fo the software.