Seem to have bricked two Teensy 3.2's in rapid succession

Status
Not open for further replies.

hemsy

Active member
I'm getting "unknown device" in the device manager, for two Teensy 3.2 boards. These boards were both working yesterday. I'm finding it hard to imagine that I killed them, since I didn't do anything to my wiring. Tried 2 different USB cables, that have also been working up to now, and two different PC's.

So I guess I'll order a few more boards, cross my fingers. Of course it's possible that I killed the boards somehow. But if there's a known issue regarding "unknown device," I'm willing to try any fix that's suggested.
 
Take a look at this page: https://www.pjrc.com/teensy/troubleshoot.html
Especially the sections
Teensy Not Recognized by Teensy Loader
and
Windows 7: Unknown Device (Code 43)

I have personally recovered a Teensy showing "unknwon device" under windows with the procedure described in the "Teensy Not Recognized by Teensy Loader" section, so there is hope :)
 
Thanks to both of you for the links! Here's what ended up working for me. I had Code 43, tried the fixes recommended for that issue:

1. Powered down both computers. Still Code 43.

2. Re-installed the USB drivers on computer 1, a desktop. Still Code 43.

3. Decided to try the Program Mode button on the Teensy (which hadn't worked before)...

3a. Started the IDE, including the little Teensy programming app, wrote an LED Blink program.

3b. "Upload" returns a failure message, suggests pushing the Program Mode button

3c. Pushed the Program Mode button. LED Blink starts running. Success!

3d. Simultaneously, the Device Manager indicates that the Teensy has successfully connected, but with a new COM port number.

3e. Same fix works for the other Bricked Teensy board. Whew.

4. Now, I carry one of those boards to computer 2, a laptop, plug it in.

5. Without running the IDE, computer 2 recognizes the Teensy board, and gives it a COM port number.

So it looks like fixing the Teensy board on one computer somehow influenced the board itself, so it came up successfully on the other computer. It's all a bit mysterious to me, but at least I'm back up and running, and have written down my steps, so if this materializes again, I will follow the same instructions and see if it works the same.

Also, how I may have killed it in the first place: I'm writing code in the IDE, and then running a Python program to test that code via the same serial port. This lets me do more elaborate data analysis on graphing than would be convenient to program directly into the Teensy. I think the problem may have emerged from trying to do an upload, while the Python program still had the port open.

Meanwhile, I now have a few more Teensy boards on the way, including some LC's, and am happy to have some spares. I'm a long time (20+ years) PIC chip stalwart, and am extremely happy with the Teensy, the IDE, and the ARM chip.

Edit: I may have nailed down the root cause. My program had noInterrupts() as the first statement in the loop() routine. That's what killed it. Basically the Teensy booted itself and became dead to the world. I "fixed" the board by getting rid of noInterrupts(), uploading again, pressing the button. I only had to press the button once, subsequently the board is recognized as usual. So I guess the moral is that you can write a program that bricks the Teensy, and before you panic, try going back to a known-good program.
 
Last edited:
Yup, this is exactly the reason every Teensy has a pushbutton dedicated for entering programming mode. With native USB, your program can disable interrupts or turn off the USB hardware or go into a low power mode or do a variety of other things that would prevent the USB from responding to the reboot request Arduino sends.
 
Status
Not open for further replies.
Back
Top