Is my Teensy 3.1 dead?

Status
Not open for further replies.

N0BOX

Active member
Well, I hope I'm just dumb, but I can't seem to get my Teensy 3.1 to work.

When I plug it into my PC, the LED (Pin 13) flickers once (right as the USB cable snaps in), but there is no change in Device Manager whatsoever (no "Ports", nor any new USB HID devices). Pressing the button doesn't cause anything to change, either. I have never programmed the Teensy with anything, so if it is supposed to have a blink sketch loaded by default, it's not working (the LED never blinks after the first quick flash when plugging the cable in).

I am fairly new to soldering, so I looked over the Teensy really closely, but I don't see any jumpers between header pins or any of the SMD components on the board. Also, as far as I can tell, all the solder joints look like they are supposed to.

I have tried three separate MicroUSB cables, all of which work with other devices (Arduino Leonardo clones).

The only odd thing I did was that I used machine pin headers instead of the regular cheap headers (I wanted to be able to remove the Teensy from the finished "product", but didn't want to have the taller female headers adding a bunch of extra height (female machine pin headers are much shorter).

Does anyone have any ideas?


Edit: I noticed that power is getting to the Teensy, though. I wired the Adafruit NFC breakout board up to the Teensy 3.1, and the "Power" LED on the NFC board stays on solid (hooked up to the Teensy's 3V3 and GND pins, as well as 23 for CS and pins 11 and 12 for MISO/MOSI).

Edit2: I found a troubleshooting page that suggested rebooting the PC, then plugging the Teensy in while holding its reset button down, which I have just tried. Unfortunately, this hasn't resolved the problem. The LED still just quickly flashes once and nothing else happens.
 
Last edited:
If I remember correctly, I think I installed the Arduino IDE, then Teensyduno, then plugged the Teensy into the PC and let the device "install" once before I did any soldering.

It's a hazy memory, but I think I remember the PC detecting the Teensy once before. It would have been the day I received it in the mail. I let it sit a day or two before I got around to soldering the headers to it. I spent a bunch of time installing Visual Micro/Atmel Studio and researching datasheets for a USB HID keyboard related project.

I didn't spend much time at each pin, though the solder did come very close to the tiny pins of the processor while I tried to do the headers alongside of it. I kept the iron tip on the far side of the pin and brought the solder in from overtop of the chip. None of the molten solder stuck to the chip's pins, though. It immediately wicked into the holes surrounding the header pins.

I'll see if I can find a way of taking a close-up picture of the Teensy tomorrow if you think that might help you diagnose the problem.
 
The very first hardware test is using a voltmeter to see if the board is getting power. VIN should measure approx 5 volts (relative to GND), and +3.3 should be 3.3V.

Program and Reset (tiny test pad on the bottom) should be 3.3V normally. When holding the pushbutton, both should go to 0 volts.
 
Well, I've poked around with a voltmeter (a cheap analog one, so I can't tell you the exact voltage, but can get fairly close)...

All three 3V3 pins and the AREF pin read a hair over 3V. VIN and VUSB read slightly over 5V. Unfortunately, neither Program nor Reset show a voltage. The D+ and D- test points are both at 0V. There is a set of four small test points on the bottom of the board, and the one next to D1 reads 1V, while the other three are 0V.

I got the Teensy to reset and load a sketch after trying to test some of the points on the board (one of them must have rebooted the board or something?), but after unplugging from USB and plugging it back in, I could no longer get it to load sketches once more. I have tried testing points on the board again, but I can't seem to get it to reboot like it did that one time.

When it did reboot, it had to load drivers, so I may never have gotten the board to work before soldering the headers on... I may have been mixed up with some other boards I got at the same time as the Teensy (I ordered a Pipistrello FPGA and it came in the same day as the Teensy 3.1). I spent so much time installing drivers and software that it has all blurred together.

I can't seem to get a usage picture of the Teensy up close. My iPod Touch and tablet both ended up with crappy cameras (regardless what people say about the Touch 5G's or the Transformer's cameras... I must have gotten poor hardware), and none of my real camera's lenses support "close enough" macro.
 
Last edited:
I used a "phone camera to microscope" adapter someone at the local makerspace built and grabbed a picture of some crystalline stuff under/between the pins of the mk20dx256 chip:
photo 2.JPG

Here is the Teensy from above, and as close as I can get while still being able to get it in focus:
photo 3.JPG

I don't know if that crystalline gunk was there when I got the Teensy or if I somehow managed to deposit it there myself. My assumption is that it is flux left over from soldering. I went over the header pins with an alchohol swab to try to clean off the flux in the solder I used (which is where all those little cotton fibers came from).

Can this stuff cause the problems I am having?
 
Last edited:
Unfortunately, neither Program nor Reset show a voltage.

I'd focus on the Program signal. It should be 3.3V normally, and go to zero volts when you press the button.

Program should never be stuck low. If it is, there's damage to the pushbutton or conduction somewhere on the board, pulling the signal low.

I got the Teensy to reset and load a sketch after trying to test some of the points on the board (one of them must have rebooted the board or something?), but after unplugging from USB and plugging it back in, I could no longer get it to load sketches once more. I have tried testing points on the board again, but I can't seem to get it to reboot like it did that one time.

Perhaps there's a short or conductive path (eg, corrosive solder flux?) causing Program to not be pulled up to 3.3V.

Maybe while poking around, you somehow caused Program to go high after being low, which made the board reboot and program.
 
BTW, counting clockwise from the "dot" denoting pin 1, it appears that the flux is between pins 28-30.

Edit: clockwise is apparently the wrong direction to count, so it is actually pins 35-37.
 
Last edited:
I'd focus on the Program signal. It should be 3.3V normally, and go to zero volts when you press the button.

Program should never be stuck low. If it is, there's damage to the pushbutton or conduction somewhere on the board, pulling the signal low.

I just probed around with an ohmmeter/continuity checker, and there is no continuity between Program and GND... until I press the button. So it doesn't appear that there is a jumper pulling Program to ground.

Perhaps there's a short or conductive path (eg, corrosive solder flux?) causing Program to not be pulled up to 3.3V.

Maybe while poking around, you somehow caused Program to go high after being low, which made the board reboot and program.

You are correct, I just momentarily connected Program to 3V3 and the Teensy just showed up in lsusb on my tablet (I'm away from my desktop right now). When I pull the USB cable and plug it back in, the Teensy fails to enumerate, but touching the Program pin with 3V3 causes it to show up again.

Does this point towards some sort of soldering failure or does it sound like the chip is damaged somehow? I can try to wash the Teensy somehow, but I don't know the first thing about how to clean flux out from under those tiny leads...
 
Ok, so after trying to tinker with this Teensy for the past week or so, I found that shorting 3V3 to Program would allow teensyloader to recognize the Teensy and upload the hex file. Since I was being dumb and not keeping the troubleshooting simple, I have only just now come up with something that might be useful. I just decided that instead of uploading a sketch that deals with SPI (which would upload, but never got a response back from the SPI sensor), I would go back to uploading the blinky sketch.

Now I'm noticing that the blinky sketch will run for only a handful of blinks, then go dark. It's a different number of blinks each time, too, but never more than 6 or so. The past couple of tries gave me a successful upload, but no blinking at all...
 
Temporary test? 10K or so resistor from Program pin to 3V3 (i.e. across the reset button). Maybe the MINI54 input pin is suddenly wanting a better pullup? Or the button is flaky?
 
I found some 91% isopropyl alchohol and a clean toothbrush, so I soaked and scrubbed the Teensy's mk20dx256 IC to get rid of the pictured flux crud. When I was looking over the board after letting it dry a little bit, I noticed that the MINI54 IC had some pretty heavy flux crud between several pins on the header side and the side opposite the headers. I may have managed to get the flux on the pins next to the headers, but there's no way I got it on the ones on the opposite side of the MINI54.

I've cleaned off all the flux I can find on the mk20dx256 and MINI54, and I haven't been able to find any on any of the other ICs (other than some on the end of what looks like a capacitor). I've soaked and brushed the whole board, though, so I'll see if the Teensy works after letting it dry for several hours in the fridge.

I got this Teensy from Sparkfun. Do they build the Teensys themselves, or do they buy them assembled from PJRC?
 
Sparkfun gets them from us.

We thoroughly test every single Teensy. First, a bed-of-nails test is used to confirm all the pins are connected and none are shorted to each other. Every digital pin is driven high with all the others low, and then each pin is driven low with all the other high. The analog only pins are driven with varying voltages during these tests. If any digital pin doesn't output the right signal during any test, or any of the analog pins don't read the right voltage, we fail the board and it never ships.

The second test involves plugging in a USB cable. The reset button is pressed to cause it to program the LED blink. When you get a Teensy that blinks, the blink example got onto the board through the USB connector, and the pushbutton worked, because that's how the programming test is initiated.

Of course, it's always possible the hardware could be flaky but worked when we tested, or could have been damaged during shipping. But when people solder to the board, the opportunity for damage is far greater than any other cause. It's always wise to test the board before you start soldering.

We do have a warranty for defects in materials and workmanship. In other words, if it's our fault, because the materials were bad or if we made a mistake in building it, of course we take care of you by replacing the board. Warranty is not supposed to be about replacing products that were damaged through no fault of the part of PJRC or Sparkfun. We do tend to err on the side of caution and good customer service, so if it's not clear what happened and there is some good reason to believe it may have been our fault, then we can replace the board.

I want to be reasonable, and I'd hope that you'll be reasonable too. If it's our fault, of course we'll replace it. If we do replace such a board, at the very least I would ask you to thoroughly test the replacement board BEFORE you touch it with your soldering iron!
 
Good news. It appears that the alchohol bath+scrubbing has worked!

I realize it was dumb of me not to test the board before soldering the headers on. I won't make the same mistake in the future. I wasn't trying to make a warranty claim, I just wanted to figure out if there was a way for this to get fixed. As I said at the beginning, I thought it was very possible that I was somehow responsible for the board not working, as the headers are a bit closer to the pins on these tiny SMD ICs than I am used to (that's not a complaint... one of my main reasons for choosing the Teensy 3.1 was the compact package). My main reason for reporting the flux that I noticed on the MINI54 IC (and how it was also present on the opposite side of the chip from where I could have accidentally caused it) was just so that you would be aware that something may have gotten past your QCers.

I noticed that your forums aren't covered in these sorts of complaints when I posted, so I know that if this was "your fault", it is something that is not normal. Given the odd nature of the problem, it very well could have tested perfectly before leaving the shop. Also, the flux was so mild that I didn't notice it on the MINI54 chip until yesterday with a 4X eye loupe, so I really wonder if any optical board check equipment would have noticed it (or the little crystals might "grow" over time?).

Either way, I would have been hesitant to make a warranty claim unless I knew it wasn't my fault. I wonder if the flux can travel underneath the ICs far enough to reach the other side of the chip? If so, then it likely was my fault. In any case, I'll be sure to check any boards I buy in the future so I can tell when/if I mess them up.

Thanks for all the help!
 
I'm having issues with a Teensy 3.1 that I purchased as an add-on to an OshPark order. The board worked initially, but failed after a few loads. I haven't soldered anything to it. My machine doesn't recognize it at all. When I test the pins, my reset pin is stuck at 0.097V. That doesn't change when I press the button. The program pin is sitting at the correct voltage and transitions as expected with the button press.

I gave the board a spray with flux remover and then rinsed it. I haven't tried the alcohol scrub yet, but wondered if you have any suggestions on what else I could check.
 
@NOBOX,
It is possible that the solder may have had a reaction to the flux and did in fact "grow". When the world decided lead was bad for electronics the choices for solder are not so great. Some of the replacements have issues such as tendril growth over time. This is caused by some reaction of some sort and may be accelerated by electrical stimulus (not sure on that). This tendril growth will have the affect of making electronics have long term usage issues. This is one reason medical equipment is exempt from ROHS. I am sure someone has formulated better solders since then, but it is still a possibility. So my guess is it could have tested fine, but maybe because of the flux residue it was enough to fail over time do to some chemical reaction.

FYI:
http://en.wikipedia.org/wiki/Whisker_%28metallurgy%29
 
After I had soldered the headers to my Teensy 3.1, I eventually found that there was some crystalization between the pins of the MINI54 IC. It is the second-biggest chip on the Teensy 3.1 if I remember correctly, and it is very close to the micro-USB port. If you have an eye loupe that is 4X or better (actually, 2X or 3X might even be enough), you should easily be able to see any flux crystalization between the pins of either of the chips.

The solder I had been using was the lead-free stuff that I bought from Adafruit (if I remember correctly... it might also have been from Sparkfun, but they both likely sell the same type of lead-free solder). It is a rosin-core solder, if I remember correctly. In any case, the 91% isopropyl alchohol we keep in our medicine cabinet worked really well with a little bit of "elbow grease". After finishing with the scrubbing, I put the Teensy in the world's greatest electronics dryer, my refrigerator, where the fan would blow on it. I let it sit in there for an hour or so to make sure that there wasn't any water left underneath any of the chips, the micro-USB jack, headers, or the reset button.

Once it was dry, it started working properly, and it has worked ever since. :)
 
Status
Not open for further replies.
Back
Top