Skip to main content
Added photos
Source Link

Although this is an older question, I believe there may be people still looking for a solution to this problem. Documentation for the BNO055 Shuttle board is pretty thin. I've added a bit of the schematic below.

BNO055 Com3 (pin 17) is presented on pin 22 of the shuttle board (12C_MODE_ADR_SEL). This pin must be connected through a resistor either to shuttleboard pin 4 (SD0, GND) or to shuttleboard pin 5 (SD1). The datasheet makes mention of 2-position jumper J102 which should accomplish this, but I don't see an actualthere are versions of the Shuttle board that do not include this jumper or any place to mount it. In the photo of the OP's setup (pasted at bottom in case his link goes away) the jumper header would be installed across the three holes adjacent to pin 3 (GND), and jumping the center pin to the left or right-side pin would set the address to 0x028 or 0x029.

WhenIf you don't have the jumper, just connect the pins directly: when I connect my pin 17 to pin 4 through a 10K resistor, the Arduino "example" scanner does see it at I2C address 0x28.

The AdaFruit breakoutPersonally I like the Adafruit BNO055 board for this devicea lot better than the Shuttle -- it has a voltage regulator and a lot of other additions, and it uses 0x280x028 as its default I2C address, and the Adafruit library for it is quite functional.

For those working in the Arduino code environment and wishing to incorporate more than two BNO055 devices and who do not wish to use a multiplexer, I might suggest looking at the Teensy family of 32-bit ARM cortex CPU boards. These are completely code-compatible with Arduino, but offer more than one I2C bus. In fact the Teensy 3.6 (based on the K66180 MHz!! with 1M Flash, 256K Ram, 4K eeprom, an FPU) offers fourfour* separate I2C Wire interfaces on different ports, which would permit 8 of the BNO055 devices to be used. 

I've personally been very happy with the performance and functionality of thesethe Teensy boards when used with multiple BNO055 devices.

BNO055 Shuttle Board Pinout The OP's Shuttle Board

Although this is an older question, I believe there may be people still looking for a solution to this problem.

BNO055 Com3 (pin 17) is presented on pin 22 of the shuttle board (12C_MODE_ADR_SEL). This pin must be connected through a resistor either to shuttleboard pin 4 (SD0, GND) or to shuttleboard pin 5 (SD1). The datasheet makes mention of 2-position jumper J102 which should accomplish this, but I don't see an actual jumper installed.

When I connect my pin 17 to pin 4 through a 10K resistor, the Arduino "example" scanner does see it at I2C address 0x28.

The AdaFruit breakout board for this device uses 0x28 as its default address, and the Adafruit library for it is quite functional.

For those working in the Arduino code environment and wishing to incorporate more than two BNO055 devices and who do not wish to use a multiplexer, I might suggest the Teensy family of CPU boards. These are completely code-compatible with Arduino, but offer more than one I2C bus. In fact the Teensy 3.6 (based on the K66) offers four separate I2C Wire interfaces on different ports, which would permit 8 of the BNO055 devices to be used. I've been very happy with the performance and functionality of these boards when used with multiple BNO055 devices.

Although this is an older question, I believe there may be people still looking for a solution to this problem. Documentation for the BNO055 Shuttle board is pretty thin. I've added a bit of the schematic below.

BNO055 Com3 (pin 17) is presented on pin 22 of the shuttle board (12C_MODE_ADR_SEL). This pin must be connected through a resistor either to shuttleboard pin 4 (SD0, GND) or to shuttleboard pin 5 (SD1). The datasheet makes mention of 2-position jumper J102 which should accomplish this, but there are versions of the Shuttle board that do not include this jumper or any place to mount it. In the photo of the OP's setup (pasted at bottom in case his link goes away) the jumper header would be installed across the three holes adjacent to pin 3 (GND), and jumping the center pin to the left or right-side pin would set the address to 0x028 or 0x029.

If you don't have the jumper, just connect the pins directly: when I connect pin 17 to pin 4 through a 10K resistor, the Arduino "example" scanner does see it at I2C address 0x28.

Personally I like the Adafruit BNO055 board a lot better than the Shuttle -- it has a voltage regulator and a lot of other additions, and it uses 0x028 as its default I2C address.

For those working in the Arduino code environment and wishing to incorporate more than two BNO055 devices and who do not wish to use a multiplexer, I might suggest looking at the Teensy family of 32-bit ARM cortex CPU boards. These are completely code-compatible with Arduino, but offer more than one I2C bus. In fact the Teensy 3.6 (180 MHz!! with 1M Flash, 256K Ram, 4K eeprom, an FPU) offers four* separate I2C Wire interfaces on different ports, which would permit 8 of the BNO055 devices to be used. 

I've personally been very happy with the performance and functionality of the Teensy boards when used with multiple BNO055 devices.

BNO055 Shuttle Board Pinout The OP's Shuttle Board

Source Link

Although this is an older question, I believe there may be people still looking for a solution to this problem.

BNO055 Com3 (pin 17) is presented on pin 22 of the shuttle board (12C_MODE_ADR_SEL). This pin must be connected through a resistor either to shuttleboard pin 4 (SD0, GND) or to shuttleboard pin 5 (SD1). The datasheet makes mention of 2-position jumper J102 which should accomplish this, but I don't see an actual jumper installed.

When I connect my pin 17 to pin 4 through a 10K resistor, the Arduino "example" scanner does see it at I2C address 0x28.

The AdaFruit breakout board for this device uses 0x28 as its default address, and the Adafruit library for it is quite functional.

For those working in the Arduino code environment and wishing to incorporate more than two BNO055 devices and who do not wish to use a multiplexer, I might suggest the Teensy family of CPU boards. These are completely code-compatible with Arduino, but offer more than one I2C bus. In fact the Teensy 3.6 (based on the K66) offers four separate I2C Wire interfaces on different ports, which would permit 8 of the BNO055 devices to be used. I've been very happy with the performance and functionality of these boards when used with multiple BNO055 devices.