4 Replies Latest reply on Jul 3, 2017 5:20 PM by Intel Corporation

    Interfacing a BNO055 with Intel Edison Mini Breakout Board


      I wish to interface the Adafruit BNO055 Absolute Orientation Sensor with an Intel Edison Mini Breakout Board.

      I have 3.10.98-poky-edison+ on it.


      I have read the Thread about interfacing it via the I2C with the Edison

      but I do not understand if I need:

      1. to set additional pullup resistor on the Edison for the interfacing? if so, how?

      2. Do I need a level shifter to make my output from the BNO055 to 1.8 V for the edison? if so, where?


      I have written the a python script which is same as one mentioned on the IOT Hardware sensor post for Intel


      the only exception being I am using upm version 0.7.0-r0 and mraa 1.3.0


      the code is pretty much the same as mentioned in the Hardware sensor post above.

      Upon executing the file I get the error:

      RuntimeError: UPM Runtime Error: writeReg: I2c.writeReg() failed



      in the code as mentioned in the post the default bus is 0 and address is 0x28. But when I do a i2detect -l i never see a i2c-0. They are all from i2c-1 to i2c-6.


      According to the Hardware Guide I am using GPIO 27 and GPIO 28 which are I2C-6 (if I am not wrong)


      Just for some understanding I Connected the BNO055 to Edison directly as follows:


      BNO055_SDA --> Jumper 17 Pin 9

      BNO055_SCL --> Jumper 17 Pin 7

      BNO055_Vin --> Jumper 20 pin 2 for 3.3 V

      Ground --> Jumper 19 pin 3


      According the Thread I also did the following:


      echo 28 > /sys/class/gpio/export
      echo 27 > /sys/class/gpio/export
      echo mode1 > /sys/kernel/debug/gpio_debug/gpio28/current_pinmux
      echo mode1 > /sys/kernel/debug/gpio_debug/gpio27/current_pinmux


      In order to make the GPIO pins to I2C functionality.


      And then If I try to run the python script I get the same error as above.

      If I try i2cdetect -r6 (since I am connected to I2C-6)I get:

      [ 2672.359678] i2c-designware-pci 0000:00:09.1: i2c_dw_handle_tx_abort: lost arbitration



      What needs to be done now? I don't understand from this point on. There is no sufficient understanding of interfacing the BNO055 with the Edison on the Internet.


      Some help would be great.