📬❄️📦Adafruit Holiday Shipping Deadlines 2019: Attention all domestic customers! Please place UPS Ground and USPS First Class & Priority orders by 11am ET Monday December 9, 2019 📬❄️📦 Attention all international customers! Please place all UPS WORLDWIDE EXPRESS; SAVER, and DHL EXPRESS WORLDWIDE orders by 11am ET Monday December 9, 2019 📬❄️📦
0

BNO055 not working
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

BNO055 not working

by WOFF3D on Tue Apr 03, 2018 4:49 pm

Hi Guys,

I loaded the latest adafruit_bno055.mpy on a Huzzah ESP8688.
What about a RuntimeError: bad chip id ?

Thanks for all help,
Charles

Code: Select all | TOGGLE FULL SIZE
Adafruit CircuitPython 2.2.4 on 2018-03-07; ESP module with ESP8266
>>>
>>>
>>> import time
>>> import board
>>> import bitbangio
>>> import adafruit_bno055
>>>
>>> i2c = bitbangio.I2C(board.SCL, board.SDA)
>>> sensor = adafruit_bno055.BNO055(i2c)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "adafruit_bno055.py", line 125, in __init__
RuntimeError: bad chip id (0 != a0)

WOFF3D
 
Posts: 7
Joined: Tue Apr 03, 2018 4:48 am

Re: BNO055 not working

by adafruit_support_carter on Sat Apr 07, 2018 11:29 am

Might be a signal issue. Post a photo of your setup showing how you have everything connected.

adafruit_support_carter
 
Posts: 13661
Joined: Tue Nov 29, 2016 2:45 pm

Re: BNO055 not working

by WOFF3D on Mon Apr 09, 2018 8:56 am

See picture. Removing the SDA or the SCL connection invokes a "ValueError: No I2C device at address: 28".
Attachments
UNADJUSTEDNONRAW_thumb_8d49.jpg
UNADJUSTEDNONRAW_thumb_8d49.jpg (272.28 KiB) Viewed 966 times

WOFF3D
 
Posts: 7
Joined: Tue Apr 03, 2018 4:48 am

Re: BNO055 not working

by adafruit_support_carter on Mon Apr 09, 2018 11:36 am

With wires removed, there is no communication at all, so you get that "no device" message. With the wires attached, I think the problem is your soldering causing signal issues, so it kind of works - it's trying to talk to it, but not getting the right values back.

Try touching up and reflowing your solder on both boards so there's better electrical connection. Some good info here:
https://learn.adafruit.com/adafruit-gui ... n-problems

adafruit_support_carter
 
Posts: 13661
Joined: Tue Nov 29, 2016 2:45 pm

Re: BNO055 not working

by WOFF3D on Mon Apr 09, 2018 12:36 pm

Hi Carter,

I resoldered the BNO and the Huzzah, unfortunately still the same result: RuntimeError: bad chip id (0 != a0). Help ?

Krgds Charles

WOFF3D
 
Posts: 7
Joined: Tue Apr 03, 2018 4:48 am

Re: BNO055 not working

by joker56k on Mon Apr 09, 2018 3:02 pm

I had the same issues with BNO055 and the esp32. I found if I did the following, it would work:

while(!bno.begin(Adafruit_BNO055::OPERATION_MODE_IMUPLUS))

{
/* There was a problem detecting the BNO055 ... check your connections */
Wire.reset();
Serial.println("Ooops, no BNO055 detected ... Check your wiring or I2C ADDR!");

delay(1000);
}

The Wire.reset(); call did it for me. I think the I2C bus has a few issues in the current ESP32 build. The samples worked fine, but when I added any complexity at all, then it started having issues.

joker56k
 
Posts: 13
Joined: Thu Mar 08, 2018 1:22 am

Re: BNO055 not working

by WOFF3D on Mon Apr 09, 2018 6:02 pm

@joker56k. Mwah. But thanks anyways, any inventive response is helpful.

When following the instructions in https://learn.adafruit.com/adafruit-bno ... r?view=all in chapter CircuitPython Code (by Tony DiCola are) I expected to get an outcome (just like my LSM9DS0 does), but the BNO055 returns this error.

@Carter, could you ask Tony ?
Should I buy another BNO055 or will the outcome be the same ?

Thanks for all help.
Krgds Charles

WOFF3D
 
Posts: 7
Joined: Tue Apr 03, 2018 4:48 am

Re: BNO055 not working

by joker56k on Mon Apr 09, 2018 7:05 pm

OOPS did not see you were using python!

I really think there is a problem with I2C on the ESP32 and BNO055. I found a post that says the BNO055 can hang the bus and needs a reset. The part not the bus!

I found this in another post on these forums: (titled I2C with BNO055)


Now, BNO055 features a reset-line that can be used to reset the device to make sure it releases the bus before initializing I2C. Simply hook up the reset line to a spare GPIO line on your controller and toggle it low for at least 20 nsec, then drive it high and keep it there for at least 650 msec before you start initialization (yes, that long!).

Later

Rick aka Joker56k

joker56k
 
Posts: 13
Joined: Thu Mar 08, 2018 1:22 am

Re: BNO055 not working

by adafruit_support_carter on Mon Apr 09, 2018 10:43 pm

@WOFF3D I think I have recreated your issue. Continuing to test and investigate. Will update when I know more.

adafruit_support_carter
 
Posts: 13661
Joined: Tue Nov 29, 2016 2:45 pm

Re: BNO055 not working

by WOFF3D on Thu Apr 12, 2018 9:00 am

Thank you, I'm very curious

WOFF3D
 
Posts: 7
Joined: Tue Apr 03, 2018 4:48 am

Re: BNO055 not working

by adafruit_support_carter on Thu Apr 12, 2018 10:51 am


adafruit_support_carter
 
Posts: 13661
Joined: Tue Nov 29, 2016 2:45 pm

Please be positive and constructive with your questions and comments.


cron