IDF i2c issues, unable to find device on bus
Posted: Wed Jan 17, 2018 2:13 am
Hello,
I know there are several I2C threads here, I am looking for suggestions for my issue. Unfortunately I don't have a logic analyzer at the moment to see what the signals look like between the working and the not working.
Background, I was using a Teensy 3.6 with external Wifi and BT for a project and when the ESP32 came out I thought I would move to it as it removed several external modules from my project. And it let me play with a new board and move to RTOS which I was thinking of doing anyhow. The project is a data logger for my track motorcycle.
I have a BNO055 (https://learn.adafruit.com/adafruit-bno ... r/overview) sensor on my i2c bus and no matter what I do I can't see it with my ESP32. On the same bus are 2 TMP006 (temp) sensors and they are picked up fine. I even added a different IMU to the I2C bus and ESP32 can see it. I am just using simple i2c scanner logic to list addresses on the bus. I have configured the bus for 400K though changing it to 100K speed didn't change anything.
If I remove the ESP32 and connect the identical I2C bus up to a Teensy 3.2 I have spare and run an I2C scanner there I see all the devices on the bus.
I am currently using HEAD/master of IDF for ESP32. All of my I2C modules have had the resisters removed and the pull-up resisters of the ESP32 are disabled. I have external pull-up resister (4.7K) installed on the bus. This configuration worked just fine for all last season on the bike though I am testing on my desk so all wires are standard jumper length on 1 breadboard currently. I have switched out the BNO055 with the one I know works from my motorcycle and same result.
I have never had issues with I2C on any other microcontroller and it concerns me to see the number of items when I Google 'ESP32 I2C issues'. Is I2C on ESP32 stable? Is there something I am missing to get the BNO055 working?
I am waiting on the logic analyzer (in the mail) so maybe that will explain something when it gets here.
Thanks, jeff
I know there are several I2C threads here, I am looking for suggestions for my issue. Unfortunately I don't have a logic analyzer at the moment to see what the signals look like between the working and the not working.
Background, I was using a Teensy 3.6 with external Wifi and BT for a project and when the ESP32 came out I thought I would move to it as it removed several external modules from my project. And it let me play with a new board and move to RTOS which I was thinking of doing anyhow. The project is a data logger for my track motorcycle.
I have a BNO055 (https://learn.adafruit.com/adafruit-bno ... r/overview) sensor on my i2c bus and no matter what I do I can't see it with my ESP32. On the same bus are 2 TMP006 (temp) sensors and they are picked up fine. I even added a different IMU to the I2C bus and ESP32 can see it. I am just using simple i2c scanner logic to list addresses on the bus. I have configured the bus for 400K though changing it to 100K speed didn't change anything.
If I remove the ESP32 and connect the identical I2C bus up to a Teensy 3.2 I have spare and run an I2C scanner there I see all the devices on the bus.
I am currently using HEAD/master of IDF for ESP32. All of my I2C modules have had the resisters removed and the pull-up resisters of the ESP32 are disabled. I have external pull-up resister (4.7K) installed on the bus. This configuration worked just fine for all last season on the bike though I am testing on my desk so all wires are standard jumper length on 1 breadboard currently. I have switched out the BNO055 with the one I know works from my motorcycle and same result.
I have never had issues with I2C on any other microcontroller and it concerns me to see the number of items when I Google 'ESP32 I2C issues'. Is I2C on ESP32 stable? Is there something I am missing to get the BNO055 working?
I am waiting on the logic analyzer (in the mail) so maybe that will explain something when it gets here.
Thanks, jeff