Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 4 of 4

Thread: Is my I2C dead? How best to troubleshoot?

  1. #1
    Junior Member
    Join Date
    Jun 2020
    Posts
    12

    Is my I2C dead? How best to troubleshoot?

    I think my I2C functionality may have died on my 4.0. Everything was working flawlessly for the last week until I2C communication suddenly died after unlpugging USB and plugging back in. Here is what I've been able to conclude thus far:

    • Pins 18 and 19 no longer respond to any 3.3V digital input signal. All other pins on that side of the board still respond to digital inputs.
    • Pins 16 and 17 do not respond to any attempts to use Wire2 for I2C communication. (Is Wire2 supposed to work on 16 and 17 like I assume?)
    • SPI still works (Running an ILI9341 TFT).


    All I2C is routed from from two Arduino Nanos through a logic level shifter to the Teensy.

    Other things tried:
    Checked level shifter outputs - All good
    Checked all breadboard connections and jumper wires - All good
    Factory reset the Teensy (3 times) - Still no I2C

    Is there another way to verify with certainty that the I2C functionality is dead? If so, what other functions might be affected? The unit seems to be working otherwise, so I could keep it around for other projects not needing the dead pins or I2C, but it's still a bummer. In the meantime I just ordered two more 4.0s.

  2. #2
    Senior Member PaulS's Avatar
    Join Date
    Apr 2015
    Location
    Netherlands
    Posts
    431
    Do you happen to have an oscilloscope? If so, then upload the Examples>Wire>Scanner sketch to your Teensy 4 and check for activity on pins 18 & 19.
    For this quick test you can even omit the usual pull-up resistors on SDA & SCL. I just checked this on a Teensy 4.
    [don't forget to open the serial monitor when running the sketch...or comment out //while (!Serial);]

    Paul

  3. #3
    The data sheet shows an absolute maximum voltage on the I/O pins of OVdd+0.3V. With the USB supply pulled it is easy for external circuits to exceed that. Normally I wouldn't worry about I2C because of the passive pullup resistors but you state you are using level shifters. If those could source significant;y more current than a resistor of several thousand Ohms, then that could cause trouble.

  4. #4
    Junior Member
    Join Date
    Jun 2020
    Posts
    12
    Thanks for the input! After a few resets and a bunch of time running the I2C scanner sketch on the oscilloscope, everything looked fine (although the 10K pullup resistors on my level shifter seem kinda big). It seems to have resolved itself. Although I did reduce the I2C line voltage for now just to be on the safe side.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •