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

Thread: Teensy 4 dead after I2C error

  1. #1
    Junior Member
    Join Date
    May 2020
    Posts
    2

    Teensy 4 dead after I2C error

    Hello, I was recently making a flight computer for a tvc rocket with a t4 controlling it. I soldered the t4 in, but when I tried to pull data from the I2C bus it couldn't find a device. I found this strange so I ran an I2C scanner and the serial output had an error on every address. I was confused so I ran it a few more times and then ran it on a spare uno, which never gave an error. I attempted to connect the uno to the pcb with some headers I included and connected just the 3v, gnd, sea, and scl. After getting nothing from the test, but still getting no errors on the uno, I attempted to power the teensy again and it would not power on. My multimeter is not working, but I tried multiple cables and other devices on the USB port to verify it was still working and I connected another I2C device to the uno to verify the scanner would pick up devices. Any idea what could have caused it? I am happy to provide any more information if needed.

  2. #2
    Senior Member+ MichaelMeissner's Avatar
    Join Date
    Nov 2012
    Location
    Ayer Massachussetts
    Posts
    4,071
    Disconnect the i2c device, and unplug the Teensy. Then turn on the Teensy then press the program button for exactly 15 seconds. It should put a basic blink program into the Teensy. Note, it takes some time erase the Teensy's flash.

    Here is the quote from the 4.0 page:
    • [b]Restore Program[/b\ - When you press the Teensy 4.0 pushbutton for 15 seconds (a quick flash on the red LED will tell you the moment to release), all of the Flash except this 4K is erased, and this known-good LED blink program is copied to the beginning of the Flash. This top 4K is special read-only memory, so you can always use this 15 second button press to fully erase your Teensy 4.0 and restore it to a known-good blink program.
    If your Teensy doesn't come back from the dead after using the 15 second reset, you likely toasted it.

    Next in terms of I2C:

    The Teensy 4.0 runs on 3.3v. Some i2c devices made for the AVR processors are 5v only. If the device requires 5v, you will need a level shifter to properly transform the Teensy's 3.3v to talk to a 5v devic.;

    If you did use 5v to connect to the i2c device, it may have destroyed the Teensy.

    On most ARM processors, you need what are called pull-up resistors to make the I2C bus work. Many devices have pull-up resistors on their board, so you don't have to add more. If the device doesn't provide pull up resistors, you need to add them. A typical value for 3.3v buses in 2.2K ohms (4.7K is typical for 5v buses, but 4.7K will usually work on a Teensy, but it may prevent you from achieving the highest I2C speed.

    A pull-up resistor is a parallel data connection. You need to hook the resistor between pin 18 and 3.3v, and another between pin 19 and 3.3v.

    If you run the scanner program, and it hangs, it is an indication that your pull-up resistors aren't right.

  3. #3
    Junior Member
    Join Date
    May 2020
    Posts
    2
    The 15 second hold did not work and the processor does not heat up. The pcb is designed by me and I put 4.7k resistors on the i2c bus. It seems like there might have been an underlying issue before I started using it.

Posting Permissions

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