Well, I have found a couple weak spots in the ESP8266 arsenal. The big one is I2C. I have set up a link between a Teensy and the ESP without any trouble. However, when I started using the ESP alone, that's when I started seeing problems. It looks like certain I2C devices don't play nicely with the ESP's I2C capabilities. I found one with the BNO055 Absolute orientation sensor. I was able to test it just fine with the Teensy alone, but had all kinds of trouble with the ESP8266, particularly with the on-board watchdog timer. I could power up the unit, and the program would run, but would only get readings for about 10-20 seconds or so. I narrowed it down to the BNO055 calibration routines, it "auto-calibrates", and once it switches over to a more calibrated state, the I2C comms go to hell. I seem to have narrowed it down to the I2C on the ESP8266, and I saw a lot of other postings on this exact same issue. There were some updated Wire libraries that supported I2C clock stretching, which according to some folks, the BNO055 seems to need. I couldn't get the new Wire library working unfortunately, maybe I'll give it another try later.
Here's a screenshot of where it stops working. It works for a bit and then it just stops. I haven't put an oscope to it, it's not worth it to me yet to screw with it too much more.
|
Good feedback right up until calibration shows 3's.. |
No comments:
Post a Comment