BNO055 Sensor not working

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Desenski
 
Posts: 6
Joined: Fri Dec 04, 2015 2:41 am

BNO055 Sensor not working

Post by Desenski »

I just bought 2 BNO055 sensors and connected them to my BBB boards. I have followed instructions with no issues until I go to run the simpletest.py program from the Adafruit_Python_BNO055/examples. When running "sudo python simpletest.py" I get the following message (same message happens on both boards).

Traceback (most recent call last):
File "simpletest.py", line 45, in <module>
if not bno.begin():
File "build/bdist.linux-armv7l/egg/Adafruit_BNO055/BNO055.py", line 382, in begin
File "build/bdist.linux-armv7l/egg/Adafruit_BNO055/BNO055.py", line 358, in _config_mode
File "build/bdist.linux-armv7l/egg/Adafruit_BNO055/BNO055.py", line 416, in set_mode
File "build/bdist.linux-armv7l/egg/Adafruit_BNO055/BNO055.py", line 302, in _write_byte
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 109, in write8
IOError: [Errno 121] Remote I/O error


Now I nano'd into the simpletest.py program, commented the following line:
bno = BNO055.BNO055(serial_port='/dev/ttyAMA0', rst=18)

and uncommented this line:
bno = BNO055.BNO055(rst='P9_12')

I did this because I am using the BBB and have the reset wire connected and have it wired to the P9_12 I2C bus. And I have no done anything with the Device Tree Overlays, so I don't see how that would be an issue for me.

User avatar
Desenski
 
Posts: 6
Joined: Fri Dec 04, 2015 2:41 am

Re: BNO055 Sensor not working

Post by Desenski »

Just realize I may have been unclear on the last part. I have the board wired as such.

P9_1 is connected to GND
P9_3 is connected to VIN
P9_12 is connected to RST
P9_19 is connected to SCL
P9_20 is connected to SDA

User avatar
drewfustini
 
Posts: 944
Joined: Sat Dec 26, 2015 1:19 pm

Re: BNO055 Sensor not working

Post by drewfustini »

Did you try wiring it up based on this Fritzing diagram?
https://learn.adafruit.com/assets/26601

Also, can you past the output of:

Code: Select all

ls -la /dev/tty*

cat /etc/dogtag

# for Linux 3.8 kernel
cat /sys/devices/bone_capemgr.*/slots

# for Linux 4.x kernels:
cat /sys/devices/platform/bone_capemgr/slots

User avatar
Desenski
 
Posts: 6
Joined: Fri Dec 04, 2015 2:41 am

Re: BNO055 Sensor not working

Post by Desenski »

drewfustini wrote:Did you try wiring it up based on this Fritzing diagram?
https://learn.adafruit.com/assets/26601

Also, can you past the output of:

Code: Select all

ls -la /dev/tty*

cat /etc/dogtag

# for Linux 3.8 kernel
cat /sys/devices/bone_capemgr.*/slots

# for Linux 4.x kernels:
cat /sys/devices/platform/bone_capemgr/slots
The output for ls -la /dev/tty* is very long and I have no way of copying it, and I don't want to spend an hour typing it all by hand. I will type a few of the lines to give you an idea of what it is.

crw-rw-rw- 1 root root 5, 0 Jan 1 2000 /dev/tty
crw--------- 1 root root 4, 0 Jan 1 2000 /dev/tty0
crw-rw----- 1 root tty 4, 0 Jan 1 2000 /dev/tt1
crw-rw----- 1 root tty 242, 0 Apr 23 2000 /dev/ttyGS0
crw-rw----T 1 root dialout 4, 65 Jan 1 2000 /dev/ttyS0

Running cat /etc/dogtag I get the following output:
BeagleBoard.org BeagleBone Debian Image 2014-04-23

I forgot if I was running Linux 3.8 or 4.x so I ran both. They both returned the same results.

No such file or directory

User avatar
Desenski
 
Posts: 6
Joined: Fri Dec 04, 2015 2:41 am

Re: BNO055 Sensor not working

Post by Desenski »

Not sure if this makes a difference. But I have my sensor on a Beagle Proto Cape. Which does not have seperate isles like a normal bread board does. Is this possibly creating an issue due to the signal going to the pins on the other side of the board as well?

Here is a link to my Google Drive with a photo of the sensors on the proto cape:
https://drive.google.com/file/d/0B2DZUs ... sp=sharing

User avatar
drewfustini
 
Posts: 944
Joined: Sat Dec 26, 2015 1:19 pm

Re: BNO055 Sensor not working

Post by drewfustini »

Running cat /etc/dogtag I get the following output:
BeagleBoard.org BeagleBone Debian Image 2014-04-23
I'd suggest moving to the newest stable Debian Wheezy (7.x) image from BeagleBoard.org. That is currently bone-debian-7.9-lxde-4gb-armhf-2015-11-12-4gb.img.xz

User avatar
drewfustini
 
Posts: 944
Joined: Sat Dec 26, 2015 1:19 pm

Re: BNO055 Sensor not working

Post by drewfustini »

Desenski wrote:Here is a link to my Google Drive with a photo of the sensors on the proto cape:
https://drive.google.com/file/d/0B2DZUs ... sp=sharing
Your wiring does look OK per Tony's diagram

However, I think the issue here is that the Raspberry Pi examples uses UART Serial port (due to an i2c issue). The BeagleBone Black is not effected by that i2c issue, so the BBB uses i2c for this sensor:
On a BeagleBone Black you can use the BNO055's I2C communication mode as the hardware fully supports I2C clock stretching. Connect your BeagleBone Black to the BNO055 as follows.
It looks like it will be connected to the BBB's second i2c bus per this beagleboard.org pinout diagram:
cape-headers.png
cape-headers.png (604.71 KiB) Viewed 1144 times
Can you run this command to list the i2c buses on your BBB?

Code: Select all

ls -l /sys/bus/i2c/devices/i2c-*
Could also run these commands to find what devices on your BBB's i2c buses and paste the results here?

Code: Select all

sudo i2cdetect -y 0
sudo i2cdetect -y 1
sudo i2cdetect -y 2
If you have a multimeter, then could also check what the voltage is on the sensor's Reset pin P9_12? It should be high (3.3V) when the sensor is active per the original guide:
RST: Hardware reset pin. Set this pin low then high to cause a reset on the sensor. This pin is 5V safe.
For the code, you'll want to use this line in the example program:

Code: Select all

# BeagleBone Black configuration with default I2C connection (SCL=P9_19, SDA=P9_20),
# and RST connected to pin P9_12:
bno = BNO055.BNO055(rst='P9_12')

User avatar
drewfustini
 
Posts: 944
Joined: Sat Dec 26, 2015 1:19 pm

Re: BNO055 Sensor not working

Post by drewfustini »

To clarify, I've forked the BNO055 repo and enabled BeagleBone Black by default in simpletest.py

This is the commit in my fork.

User avatar
OnyxMemory
 
Posts: 1
Joined: Thu Nov 24, 2016 7:46 pm

Re: BNO055 Sensor not working

Post by OnyxMemory »

Hello, i am having the exact same issue with the BNO055 I have purchased, and I was wondering if any solution has been found yet. I'm not to familiar with beaglebone yet so I'm not sure what the problem is exactly.

Edit: nevermind, it appears that one of the wires caused the issue. Fixed it and it worked fine

Locked
Please be positive and constructive with your questions and comments.

Return to “Beagle Bone & Adafruit Beagle Bone products”