This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BNO055 failure (no ack)

Hello,

I'm trying to use the Arduino BNO055 shield with PCA10040.
This should be quite easy....but it doesn't work: I can't get any acknoledgement. Arduino use 5V pins, so there is an i²c level converter, I removed and bypassed it, not working better.
I tried the twi scan, and can find a mma7660 directly, but not the BNO055.

Here is the digital analysis, I checked on a scope and integrity seems fine (I can't take screenshot).

I'm quite lost. I don't know if it's on the shield side, some config I didn't see...
here is the schematic of the board:

(I removed the PCA9306, and 5k pullup should be really fine)
This is my twi config, but I didn't make any modification on the scanner code... so i don't know it it's sofware.
static void twi_config(void)
{
    uint32_t err_code;

    nrf_drv_twi_config_t const config = {
       .scl                = ARDUINO_SCL_PIN,
       .sda                = ARDUINO_SDA_PIN,
       .frequency          = NRF_DRV_TWI_FREQ_100K,
       .interrupt_priority = APP_IRQ_PRIORITY_LOWEST,
       .clear_bus_init     = false,
       .hold_bus_uninit    = false
    };

    err_code = nrf_drv_twi_init(&twi, &config,NULL,NULL);
    nrf_drv_twi_enable(&twi);
    APP_ERROR_CHECK(err_code);
}

This is the working arduino library (on an arduino mega, just for a test):
github.com/.../BNO055

And of course the datasheet:

https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BNO055-DS000.pdf

and I2c protocol description from page 90

Any idea? I'm really lost.

Related