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

    Interfacing a BNO055 with Intel Edison Mini Breakout Board

    shan_desai

      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
      

       

      NOTE:

      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:

       

      #!/bin/sh
      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.

       

      Shan