Teensy 4.0 is unresponsive after soldering headers

Status
Not open for further replies.

barley

Member
Hi All,

I just received my new Teensy 4.0 and audio shield in the mail yesterday (directly from PJRC), and apparently broke the Teensy already. I had it running yesterday without any headers soldered to it, and went to bed (with it unplugged), woke up this morning and soldered some headers to it, and now... Nothing at all. When I plug it into my Mac, the computer doesn't recognize it as a port at all. Last night, it showed up as "/dev/cu.usbmodemXXXXXXX". When I try to upload anything with teensyduino, I get the error:

Code:
Arduino: 1.8.12 (Mac OS X), TD: 1.51, Board: "Teensy 4.0, Serial, 600 MHz, Faster, US English"

Sketch uses 13472 bytes (0%) of program storage space. Maximum is 2031616 bytes.
Global variables use 41660 bytes (7%) of dynamic memory, leaving 482628 bytes for local variables. Maximum is 524288 bytes.
No Teensy boards were found on any USB ports of your computer.
Please press the PROGRAM MODE BUTTON on your Teensy to upload your sketch.
An error occurred while uploading the sketch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

But, if I plug in my Teensy 3.2, it works fine (changing the board of course), so I don't think its my computer.

The red LED on the teensy 4 flashes briefly if I hold the programming button for a long time, but outside of that, it is completely unresponsive. My solder joints are clean, and I checked for shorts. I used 70% IPA to clean the flux, so I'm worried that maybe a little bit of water got somewhere it should't have, but other than that, I'm at a loss as to what happened.

Does anyone have any suggestions of anything I can do to get this bad boy up and running again?

Thanks!
 
Ick - any pictures? Does visual close scanning for shorts or splatter show anything obvious? Refer to the Card image - anything missing or out of place?

When unplugged - DVM the pins to each other and to GND and power - anything showing a short.

Double check for flux residue and after cleaning make sure it is dry before expecting to accept power.

Were only the side pins soldered? T_4 has generally good spacing to components on the edge pins.
 
IMG_20200414_160925.jpg
IMG_20200414_161037.jpg

Does visual close scanning for shorts or splatter show anything obvious?

Visually, it looks clean, all of the pads are completely filled with solder, but no obvious splatter or shorts.

Refer to the Card image - anything missing or out of place?

It looks normal, and was running normal last night.

When unplugged - DVM the pins to each other and to GND and power - anything showing a short.

Most pin-pin connections have a resistance of 200KOhm to several MOhms, the only one lower is 3V3 to GND, which is around 2KOhm, but my 3.2 has the same resistance, so I assume this is normal.

Double check for flux residue and after cleaning make sure it is dry before expecting to accept power.

I have cleaned the flux residue a few times, but I'm going to keep scrubbing.

Were only the side pins soldered? T_4 has generally good spacing to components on the edge pins.

Yep!
 
Soldering looks good from the view here.

When dry ( I use a hair dryer get get it up to holdable temp and make sure no fluids are trapped to get the alcohol off - though my bottle is 90% ISO ) and ready to power again - holding the Button for 15 seconds until the RED flickers then release the button. That is 15 second Restore and should result in factory Blink sketch installed and blinking the LED. It will Blink LED but not show on USB until the button is pressed when connected it will be in Program mode with the RED LED lit when connected.

One Note: The T_4 USB is 480 Mbps, unlike the 12 Mbps of the T_3.2 so the cable that works at 12 may not work at 480 Mbps. And good cables do go bad :(
 
Update: I'm getting very strange behavior from my teensy still. The current sketch that's loaded onto it is the standard 1s blink. When I plug in the teensy, it will blink normally for a few minutes, then freeze, either with the LED on or off, then at some point it will blink intermittently. It is also not able to be seen by teensyduino to program/serial monitor, etc. When I press and hold the program mode button for 15s, I usually just get a dim red blip on the other LED. Sometimes a slightly brighter blip happens, and once the red led got stuck on until I unplugged it. It never completes the reset, it seems.

Here is the blink issue:

and here is the reset issue:
 
Very Odd. The 15s Restore video was close to 15 seconds - not sure if it would have triggered in another second?

Can you put a meter on GND and 3.3V and watch that with Blink and during the 15s Restore press to see if it is just going away?
 
not sure if it would have triggered in another second?

I have tried holding it for over a minute, it doesn't do anything beyond that quick red flash.

Can you put a meter on GND and 3.3V and watch that with Blink and during the 15s Restore press to see if it is just going away?

I don't notice anything out of the ordinary there.

Here is a complete video from power up:
 
When the Quick Red Flash appears - the Button needs to be released at that time - held a second or 2 longer and the Restore is aborted.

With 3.3V steady - as it should be - there doesn't appear to be a power shutdown or loss when it hangs.

The erratic Blink is hard to diagnose without seeing USB output or something indicating the time and progress. With a valid 15s Restore completing properly and known code ( source and IDE install w/current TD ).

Posted this blink some years back : Can-t-communicate-with-Teensy-3-2-through-Teensyduino

With slight mod to show millis it looks like this:
Code:
// https://forum.pjrc.com/threads/31518-Can-t-communicate-with-Teensy-3-2-through-Teensyduino?p=88073&viewfull=1#post88073
#define qBlink() (digitalWriteFast(LED_BUILTIN, !digitalReadFast(LED_BUILTIN) ))  // Pin13 on T3.x & LC & T4.x
void setup() {
  Serial.begin(38400);
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  while (!Serial && (millis() <= 4000))
  { qBlink(); delay(50); }
  Serial.print("\nSetup() OK :: millis()==");
  Serial.println(millis());
  Serial.println("\n" __FILE__ " " __DATE__ " " __TIME__);
}

elapsedMillis emilBlink;  // Teensy way to delay action without delay()
int8_t loopCount = 0; // Print a NewLine periodically

void loop() {
  if ( emilBlink > 1000 ) {
    qBlink();
    emilBlink = 0;
    loopCount += 1;
    if ( 6 < loopCount ) {
      loopCount = 0;
      Serial.print("\nloop() :: millis()==");
      Serial.println(millis());
    }
    else {
      Serial.print(",");
      Serial.print(millis());
    }
  }
}
 
So somehow, after 6 different cables and trying both USB ports and trying all of those steps in the linked post, I was able to upload that code briefly, and it was outputting every (I think) 101 millis, and then it stopped responding again.

I'm now wondering if its a power (current) issue, because I powered the 5v pin with external power in a breadboard and the 15s reset and blink sketch is working flawlessly. I really don't want to cut the VIN/VUSB pads to find out, though.
 
Maybe use a voltmeter to watch the voltage at VIN? If it's a power problem, you'll probably see something fluctuating, or a number well below 5V.

You could also try putting a powered USB hub between Teensy and your PC. Then the hub will send power to your Teensy.
 
Powered hub a good idea.

Running that linked sketch or the updated post#10 code above would show the setup() print if the Teensy is restarting - which could explain the intermittent delay on Blinks seen before. The updated p#10 code will clearly show the progression of millis() as printed on LED toggle.

I have a USB dongle with a switch on power … if you have a disposable cable you could open that and cut the 5V line to leave the VIN<>VUSB trace in place for external power.
 
Had *exactly* the same problems with the T4 on a breadboard. I have VUSB cut and made up some 16AWG power leads soldered to 2 x pin headers and haven't had any issues since.
 
Unfortunately, I don't have a powered USB hub to test that with, but i think i jumped the gun on the external power working, as this morning, I fought with it for about 2 hours just to get it to blink again. Strangely, it only became responsive when I opened the verbose output in teensy loader. Then it had a bunch of errors preventing it from actually programming the board, and the red LED was flickering. After restarting the teensy loader and unplugging/replugging the teensy back in, I was finally able to upload the blink sketch from above. Here is the output:

Screen Shot 2020-04-18 at 11.16.40 AM.jpg

After trying to upload a modified blink sketch, it became unresponsive again, and the verbose info either doesn't show any events when I plug/unplug/press the program button, or sometimes it cycles as shown below:

Screen Shot 2020-04-18 at 11.34.44 AM.png
 
@barley - That looks like the expected output from the posted sketch - except showing 4050 ms for connect in setup() means Serial didn't come online quickly as expected in under 1000ms. Maybe the SerMon wasn't open and waiting when the Teensy started?

I wonder what happens if TyCommander is used as Serial Monitor?

That wouldn't explain the code just STOPPING like that - unless it is having trouble talking to the mac.
 
After trying for hours to get it to even reset, I gave up on it. Its not reliable enough for my project, even if I can load code onto it. Bought a 2nd T4, so we'll see how this one goes. Soldered headers and it still blinks, so thats a good start!
 
I've had similar problems with my T4 on both Win7 and Win10. The device can work correctly for hours then not run or upload a new sketch. I see error messages similar to port not found, port not available, port ready but not ready, port busy, etc. The last time it happened, yesterday, I had to resort to holding the reset button down for 15 seconds to reload the blink sketch. Thereafter, it started working normally. If the problem was within the T4 then the blink reset cleared the defect. There is a problem between Windows and the T4 but the reset trick seems to be the only solution so far. I've had a problem today whereby a short burst of serial output to the monitor has missing parts at the beginning but mostly at the end. Lowering the baud value does not fix the problem. I'm using IDE 1.8.12 and TD 1.51.
 
Update: I baked my unresponsive teensy in my toaster oven at around 105C for 50 minutes and it has functioned properly for a couple hours now. Maybe moisture was the culprit. I'm going to keep testing it and see if I have anymore issues.
 
the sort of "weak pulse" red LED is happening to my Teensy 4.1 now, after soldering the ethernet 6-pin header block.

Something strange with the type of solder paste used to reflow the SoC/CPU maybe??? I don't have a reflow oven to rework this. I just received the T4.1 a few days ago :(


EDIT:
nevermind, I installed a new linux distro last night, and didn't install the udev rules! I had done my previous programming on another OS completely! After copying the udev rules and restarting the udev service (sudo service udev restart) I could upload a blinky sketch!
 
Last edited:
Update: I baked my unresponsive teensy in my toaster oven at around 105C for 50 minutes and it has functioned properly for a couple hours now. Maybe moisture was the culprit.

Glad you got it running again. :)

FWIW, I do most of my PCB soldering with organic acid flux (Kester 2331) which requires water wash. I bake the boards in an oven around 80C for 15 minutes to get all the water dried away.
 
THANK YOU! THANK YOU THANK YOU! :-D

I was so disappointed when it didnt work anymore after soldering the headers.
But putting it for 10 minutes at 85 °C onto my 3d printer heatbed did the trick :)

:) thank you guys very much :)
 
Status
Not open for further replies.
Back
Top