Monday, February 15, 2016

More ESP8266 tinkering

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: