Troubleshooting "dead" Teensy 4.1

balthasar

Member
I'm currently facing the problem that my teensy 4.1 is not recognized by neither the Arduino IDE (v2.1.1) nor the teensyloader (v1.59). It has to be something with the teensy itself since the same setup (cable, IDE version, etc...) works totally fine for my teensy 4.0. I have used the teensy before so there is no default blinking state to check wether the teensy has power. I had to desolder all the pins since they were the wrong type for my current project and I used a special desoldering iron. With this I'm afraid the teensy might have gotten a little too hot and overheated. I tried checking with a multimeter when plugged in and the Vin pin shows 5V and the 3.3v pin shows 0 volts. This is probably a bad sign but is there a way to confirm if my teensy is dead with the multimeter for example or if there is something i could still do to fix this issue?

I'm happy to answer further questions in the responses
 
Last edited:
close look might find a missing component or short from residual solder.

Compare to the posted T_4.1 PJRC images. Perhaps take and post photos to review.
 
First read the "Power Up Sequence" info on this page:


Hopefully the little javascript buttons can help by visualizing the power up steps for you on the schematic.

If the sequence is getting to step #6, you might have zero volts because of a metal short between 3.3V and GND. The good news is this sort of thing is usually fixable if you can find and remove the metal (eg, stray solder). When you measure something like 0.8 volts, that's typically a semiconductor short inside 1 or more chips. Semiconductor shorts are rarely fixable.

But it might be failing in an earlier step. With the sequence info, schematic, and test point locations (near the end of the Teensy 4.1 product page), you should be able to measure voltages at the test points to figure out which of the power up stages have happened. Common issues disrupting the early stages are L1 of F1 (tallest parts on the bottom side) broken off, or D1 / D2 broken off or mechanically damaged (less of an issue on newer boards where these 2 are a single 6 pin part that's much stronger than the 3 pin parts)
 
Thanks everybody! At first I didn't notice any missing parts but upon further inspection, also using the nice interactive power up infos (thanks @Paul ), I noticed that some of the components on the bottom are damaged and one even fell of immediately when I tried measuring it directly with the multimeter. I think it's L2 and C28. Unfortunately I don't have replacement parts for them. Is there some crazy hack that could be used to make my teensy work again without properly replacing the parts? (I know this question sounds stupid but maybe, who knows) And if not how can i find out what package size those components are to replace them?

BrokenOffParts_teensy4.1.JPG
 
Try just soldering a wire in place of L2. It's purpose is to prevent high frequency noise just possibly escaping up the USB cable or out the VIN pin. Not really essential for the board to just work.

Ideally you should solder a capacitor at least 1uF for C28, as the 3.3V power could work but become unstable without it. If you're not using ethernet, desoldering C29 could give you a spare 2.2uF capacitor.
 
Thank you!! This was exactly the kind of hack I was hoping for:DD My teensy is now happily blinking again:)) Also I want to tell you how incredibly awesome it is, wanting to fix something and literally having the creator of the thing you want to fix respond to you to help! Thank you so much, this is exactly the reason why I think that the teensy is an amazing and unique dev platform! I probably could have easily bought a new one but being able to repair it just feels so much more satisfying.
 
Hi everybody.
I use Timer1 on Teensy 4.1 to control stepper motors by pushing pulses.
And I use the Ethernet Module via SPI port (10,11,12,13) and open a SocketServer.
When receiving data from the Client it is normal, when sending data from Teensy to the Client it crashes. I have noticed that using the print function will crash.
Can you help me know why? Should I change to another timer?

Thanks so mush.
 
Please post your code so that we might be able to see problems and therefore be able to help you.
 
The code I developed is quite long so I will post a few important passages.

This is how I declare Ethernet:
begin ethernet.PNG


This is how I read the ethernet (I read the data sent from the Client):
read ethernet.PNG


This is how I send the data: It will be sent randomly as if I pressed the button. (when I // this line goes Teensy won't crash):
"data.eth_server->println(string);"

This is how I declare timer 1. It will run continuously to push pulses to the motor:
timer begin.PNG

The total time to run the lines of code in Timer1's interrupt is 2us sometimes 14us. The interrupt frequency I am setting is 25us.

Here is the wiring diagram. The SPI pins are from the w5500 ethernet module:
pin.PNG

Capture.PNG



Thank you very much for your help.
 
Last edited:
You need to show ALL your code so someone on the Forum can compile and attempt to debug your code.
 
Back
Top