Unable to program Teensy 3.5

Status
Not open for further replies.

Ephuvex

Member
Hello,

I have a Teensy 3.5 which I have been unable to program whatsoever, regardless of what program I try to upload. I was able to program this particular board before, but only a single time. I uploaded the blink program with modified delays. Now, I am completely unable to upload any program to the Teensy, and I have tried everything I can think of. First off, I am certain the cable is correct (I have seen from many forum posts this is the first step). I am able to reboot the Teensy from the Arduino software, and the board is recognized by my PC. I have tried any and everything I can think of, ex. changing the USB port used, trying multiple computers, different clock speeds, uninstalling/reinstalling drivers and software... no luck so far. All I can do as of now is reboot the board. Using the button on the board restarts the current program as expected, and the PC can see this reboot happening, but doesn't actually upload the program.

Thanks in advance for any help/advice anyone has.
 
The Teensy should not restart pushing the Program button - at least with a single normal press. That Program button takes it offline. If the Teensy.exe loader is waiting to upload - it should program when the button is pushed. Good you checked the cable - if Teensy.exe can see a button press the cable has data lines.

Just for fun I wonder what happens if you compile your blink for a Teensy you don't have online - Teensy.exe should detect that and present an error. Hopefully you have a unique blink - compiled with Serial Type USB - change back to T_3.5 and upload that again to see if anything shows.

I've been through a few hundred too many compiles with T_3.1/3.2/3.5/3.6/LC and even a 3.0 at closeout pricing and all are quite robust and resilient with Windows - even with Beta Hardware and software. Have you soldered anything to your T_3.5?
 
Code:
Sketch uses 20,328 bytes (3%) of program storage space. Maximum is 524,288 bytes.
Global variables use 3,964 bytes (2%) of dynamic memory, leaving 192,644 bytes for local variables. Maximum is 196,608 bytes.
C:\Program Files (x86)\TyQt\tyqtc.exe upload --autostart --wait --multi C:\Users\--~1\AppData\Local\Temp\arduino_build_510198/Blink.ino.TEENSY35.hex 
No board available
An error occurred while uploading the sketch

Same message more or less without TyQt

I have not soldered anything to the board.
 
Have you got another Teensy 3.x or LC tried or to try?

Are you really seeing that you can regularly push the button and it will immediately go to blinking? Interesting if so - do it 10 times and see how repeatable it is. Re-Power the Teensy and repeat. I returned a T_3.6 to PJRC months back that was doing that - no word from Paul as it seems he hasn't looked at it yet.

I don't think trying a Long Press RESET can hurt anything: When powered get a seconds timer ready. Press the button for 15 seconds ( 13-17 range is the limit ) then release. At this point there should be NO code loaded and factory reset will be done - there are no blinks I've seen doing this so watch the timer. If it boots to blinking it didn't work.
 
No other Teensy to try, unfortunately.

After pressing the button, it just resumes blinking after maybe a quarter second pause.

This behavior is highly repeatable, 20 tries with the exact same result, after multiple re-power cycles.

The reset attempt did not work.
 
After pressing the button, it just resumes blinking after maybe a quarter second pause.

This behavior is highly repeatable, 20 tries with the exact same result, after multiple re-power cycles.

The reset attempt did not work.

But did you try holding the button for exactly 15 seconds? Use a timer, since a button press for 15 seconds is special. Less than 13 or more than 17 doesn't do it. Only 15 seconds causes a full erase. If you press for a different length of time, it won't full erase the bad code, even if you try 20 times.

Your board should not blink the LED after the K64 chip has been completely erased!

I have tried any and everything I can think of, ex. changing the USB port used, trying multiple computers, different clock speeds, uninstalling/reinstalling drivers and software... no luck so far.

You've used a known-good USB cable, right?

Bad USB cables (especially one for charging phones) are by far the most common cause of "can't upload" and "nothing works" problems.

Over and over again, we hear reports of not getting any USB response. Just a couple days ago, someone tried 3 cables... turned out all 3 of them were from phones where the cables lacked data wires and were only meant for charging batteries. When a 4th cable meant for data was purchased, everything magically worked.

No matter how sure you are about your USB cable, get another one, and make sure that new cable really is a data cable and not a phone charging cable!
 
Last edited:
But did you try holding the button for exactly 15 seconds? Use a timer, since a button press for 15 seconds is special. Less than 13 or more than 17 doesn't do it. Only 15 seconds causes a full erase. If you press for a different length of time, it won't full erase the bad code, even if you try 20 times.

Your board should not blink the LED after the K64 chip has been completely erased!



You've used a known-good USB cable, right?

Bad USB cables (especially one for charging phones) are by far the most common cause of "can't upload" and "nothing works" problems.

Over and over again, we hear reports of not getting any USB response. Just a couple days ago, someone tried 3 cables... turned out all 3 of them were from phones where the cables lacked data wires and were only meant for charging batteries. When a 4th cable meant for data was purchased, everything magically worked.

No matter how sure you are about your USB cable, get another one, and make sure that new cable really is a data cable and not a phone charging cable!
I am very very certain the cable is good. The computer can reboot the Teensy, and can see when the Teensy itself resets.
I tried to reset using the 15sec hold six or seven times last night with my phone as a stopwatch, and every time the LED simply resumed blinking.
 
Paul, maybe it is still the old bootloader without that feature?

Possible, but unlikely. Only 10 Teensy 3.5 boards were ever made with the old bootloader. Only the early (2nd highest tier) Kickstarter backers (just 4 people) and beta testers got those 10 boards.

The computer can reboot the Teensy, and can see when the Teensy itself resets.

Well, this just keeps getting more and more confusing.

We can't see your screen, and we can't even know exactly what actions you taking, nor what specific things you're observing that indicate your computer can reboot Teensy. In fact, it's hard to know if you mean reboot Teensy means it goes into bootloader mode (which doesn't work) or causes your blink program to restart.

Can you see how in the dark I am, with so little specific description about what's actually happening?

Looking back at all the messages in this thread, I can see in #3 this is Windows. Looks like a modified platform.txt that running TyQt, rather than Teensy Loader. Maybe? So many unknowns here....
 
Paul: You may have a T_3.6 there at hand that acts in a similar way - and it confused you on that thread too ::
I have a very difficult time understanding message #15.

Since the board is coming here anyway, I guess I'll just take a look at it later this week....

Paul - any update on this unit?

Not sure what was confusing other than the T_3.6 behavior - I just described what I tried and what I saw . . . I put a KITCHEN/MAIL scale under it to measure the button pressure I was applying - the button was weird - but why that can do reset you are better to answer - especially since it is there.

That returned T_3.6 would do a 15 second reset - but the behavior persisted in that the Program button >90% of the time just restarted the T_3.6. Even when on a battery pack the blink restarted on 'Program' button press IIRC.

As you'll see nothing was ever soldered to it and no obvious signs of damage when it went in mail to you first week of October.
 
My apologies, I will give as much detail as I can...
First, an update: I managed to completely reset the Teensy through the 15-seconds hold (I think it didn't work earlier because even though the button was depressed, it wasn't actually making electrical contact for the full 15 seconds)
Just to simplify things, I removed TyQt and I am now using a fresh install of Arduino 1.6.12 and Teensyduino 1.31 on a Windows 7 machine. Before I was able to reset the board, pressing the reset button was causing the Teensy to pause briefly before resuming blinking. Trying to do the long reset wasn't working, and the LED would simply resume blinking mid-way through the 15 seconds. Previously, the board was being recognized by both Windows and TyQt, but now that it has been reset, Windows does not recognize it. I'm not sure how to figure out whether the Teensy is being sent into the bootloader or restarting the program, but pressing the reset button would cause the Teensy to pause for maybe a quarter second before restarting the blink program. The Teensy now no longer has a program, and I'm not sure how to proceed from here.

I have no idea if I somehow damaged this board, or uploaded something that caused it to stop functioning, but at this point I am simply lost. The board has no program, and I can't get it to be recognized by Windows. The 3.3V pins still have power, so I guess that's something. Maybe time to just buy a different Teensy? I love these boards, I had a pair of Teensy LCs that served me excellently for months, but I've probably spent 6 or so hours trying to troubleshooting, googling symptoms, etc..., and I don't really know how to provide any more relevant information than I have in this reply.
 
I think I had the same issue as you... I was just about to submit a post admitting defeat when it just popped back to life... I wasn't touching it. I did nothing different. I am ridiculously confused. The Teensy was sitting dead on my desk for a good hour, still connected to my PC. And now it just popped back to life, no external stimulus? I have NO idea what just worked, but I do know that this board is weird. I am going to try to flash something other than blink to it... Maybe it works again? I am skeptical I will be able to get it to program again.
 
I can get the Teensy to program maybe 1 in 8 or so tries, and I am only ever getting a success when using lots of pressure with the button.

Edit:
I did some more testing, many trials, here's the results:

After every button press, the Teensy would disconnect from the PC, the LED would flash rapidly for a few seconds, then would begin running the program. The program I used was the one from defragster's post (linked in post #12 for this thread). To tell if the programming worked, I would change back and forth the condition for emilBlink from 3000 to 300, back and forth. After every successful program, I would flip it from 300 to 3000, or vice versa.

Trial 1: Minimal pressure, brief press of the button; 20 tries, one success
Trial 2: Minimal pressure, 3 second press of the button; 20 tries, zero successes
Trial 3: High pressure on the button to start, brief press, holding down the corners of the button during the programming; 20 tries, four successes
Trial 4: Minimal pressure on the button, brief press, high pressure on the center chip during the programming; 20 tries, 20 successes

Well, I have found a way to make this work. I haven't a clue what's causing this behavior. It might be worth nothing that the board had a very slight curvature that I discounted when I received it as insignificant. It would appear that applying pressure to the board and forcing it to straighten out it causing it to program properly. I don't understand the board well enough to try and rationalize this observation

Edit 2:

More testing, this time 10 trials of applying pressure to the center edges of the board (closest edges of the board to the central chip), 10 successes. After that, I tried to upload again without any pressure... 5 trials, 5 successes. Maybe I have straightened the board out or gotten something to re-make electrical connection?

Edit 3:

More testing again. Board stopped programming properly without any pressure, but a light touch on the edges or the main chip causes programming to function again. I think I can somewhat safely say that the problem is "solved"; I can use this board again. I don't know what caused this weird behavior, but in the future if someone else encounters it, applying a little (or maybe quite a bit) of pressure to the edges will cause the Teensy to program properly again.
 
Last edited:
I'll repeat this from the post that confused Paul - because "dead" matches ( except perhaps for the number of observed minutes ) reported - "was sitting dead on my desk"

...
It was then dead for a couple minutes - plugged/unplugged - button pressed or not - no entry on Teensy.exe as bootloader.

Minutes ended and it came online in bootloader and I flashed the above saved HEX and it is now back to where it was. Teensy.exe open - on button press Windows chimes out and back the USB device - Teensy Verbose shows "nothing".

This unit has some special issue - bad switch or other component or solder connection it seems?

I didn't note my board being warped - interesting if Paul might check that. Perhaps the button feeling odd making me think I was pressing it hard - caused me to get it on a scale to measure the down force applied - was my bending the board? Though usually I reset holding it in my hand - and for that set of tests at least once I held it touching nothing but edges and button to make sure I wasn't affecting anything else.

I noted in that thread#18 wonder at what the bed of nails would see - probably nothing. Though Erin with a scope might see something odd - or replace the button. When I saw KurtE's returned T_3.6 repaired from his PCB trace short I had hope mine had been looked at similarly. That caused me to look at another T_3.6 briefly and didn't see an obvious spot where RESET via or trace could be shorted - but what do I know without the Gerber Image and parts in the way.

Other thread found somebody that may have a similar sighting. When I got my KS 6 pack I dumped a blink sketch on each and one acted funny - and I knew it but ignored it and called it good and put it on the shelf - only to have it be an issue the next time I was doing a mass test. Just casually wondering aloud how many bulk packs haven't been fully tested - or how many might be seeing the issue and not knowing it isn't normal.
 
Obviously this isn't a "dead" board, from #14 is definitely "flaky".

@Ephuvex - I know you've tried so much. Thanks for going back to the default Arduino install and describing in more detail. It really helps. Can you please try to rule out one more thing: power? If the power is unreliable, like through an unpowered USB hub, it could cause all sorts of strange problems like this.

If the power is good, then it's time to send you a replacement board. I'd like to get this one back, even though I'll only have time to quickly look at it. I do have all these boards with mystery problems (currently only 3 of these 3.5/3.6 here in my collection).

@Defragster - Sorry, Kurt's situation was completely different. That was a perfectly fine Teensy, with other stuff connected. No actual hardware failed. I can find and fix those kinds of problem easily. I did take your board out of the bag and work with it briefly. The cause of death is unknown, but very likely a random hardware failure. It's not the sort of thing I can get to the bottom of quickly, and perhaps never without x-ray inspection underneath the BGA.

Just casually wondering aloud how many bulk packs haven't been fully tested

Every Teensy is fully tested. All of them. If the LED blinks slowly when you first apply power, you can be sure all tests were done.

The bed of nails test is done first. After powerup checks, the first thing the bed of nails does is a complete erase of the bootloader chip. Then it does all the pin tests. It only programs the bootloader after all other tests pass. If any pin isn't connected, or if any of the ground or power pins can't bring the board up, or if a wide variety of other tests don't pass, no bootloader is ever written. Even if the operator doesn't notice the obvious red LED on the tester, the end result of any fail on test #1 is a board without any bootloader. The second USB test programs the LED blink. If there's no bootloader, this test can't possibly pass, since it uses USB loading with Teensy Loader the same way you would upload sketches.

Every single Teensy goes through both of these tests. We never make a bulk package where only some of them are tested. It's always 100% test, no matter how many are in a package. The tests are designed so the final result of the LED blink pre-loaded can only happen if all tests were completed successfully.
 
If the power is good, then it's time to send you a replacement board. I'd like to get this one back, even though I'll only have time to quickly look at it. I do have all these boards with mystery problems (currently only 3 of these 3.5/3.6 here in my collection).

I tried on my laptop, my PC and my friend's PC, different cable I knew was good every time... exact same behavior. I don't believe it's a power issue.

As for sending it in, I would be happy to do so tomorrow. I had to scramble to get this board into a school project for turn-in this morning, but I should have it back by tomorrow. The board now has pins, but I soldered those on just this morning (bit of a rushed-job but confident there's no damage), and it still works just the same way as previously... same weird behavior.

Also worth noting, someone else is having virtually identical issues in defragster's thread on his Teensy 3.6.

@PaulStoffregen Thanks much for the time and help with this, I really do appreciate the support you provide for the Teensys. I have used three of them now, and I seriously love them, your dedication to your quality product is awesome :)
@Defragster Thanks for the quick replies and the troubleshooting guide you linked earlier, I probably would have pronounced this board dead and been stuck without a microcontroller for this project had it not been for your help
 
Obviously this isn't a "dead" board, from #14 is definitely "flaky".
With context Paul - in BOTH cases the "dead" was noted as short lived - a transitory state - in both cases it was non-functional for some minutes - and indeed flaky in that both returned to prior odd state. But for some time - both appeared "dead" to the casual observer.

@Defragster - Sorry, Kurt's situation was completely different. That was a perfectly fine Teensy, with other stuff connected. No actual hardware failed. I can find and fix those kinds of problem easily. I did take your board out of the bag and work with it briefly. The cause of death is unknown, but very likely a random hardware failure. It's not the sort of thing I can get to the bottom of quickly, and perhaps never without x-ray inspection underneath the BGA.
Just noting it got my hopes up - and therefore my disappointment proportionately increased when I got no feedback and no replacement unit.
Would be interesting if you see the board as perfectly flat - I did note that leaving it powered (reaching operating temp) it acted differently. Given my software and other normally successful upload and recovery steps and time - indeed I can only assume it is something electrical/mechanical.

Every Teensy is fully tested. All of them. If the LED blinks slowly when you first apply power, you can be sure all tests were done.

The bed of nails test is done first. After powerup checks, the first thing the bed of nails does is a complete erase of the bootloader chip. Then it does all the pin tests. It only programs the bootloader after all other tests pass. If any pin isn't connected, or if any of the ground or power pins can't bring the board up, or if a wide variety of other tests don't pass, no bootloader is ever written. Even if the operator doesn't notice the obvious red LED on the tester, the end result of any fail on test #1 is a board without any bootloader. The second USB test programs the LED blink. If there's no bootloader, this test can't possibly pass, since it uses USB loading with Teensy Loader the same way you would upload sketches.

Every single Teensy goes through both of these tests. We never make a bulk package where only some of them are tested. It's always 100% test, no matter how many are in a package. The tests are designed so the final result of the LED blink pre-loaded can only happen if all tests were completed successfully.

Again context: I trust that every Teensy shipped was tested or it would have no code. But that test necessarily cannot detect every possible point of failure. In context I noted that I un-bagged each unit and programmed it and in so doing AFAIK - the unit on your desk exhibited problems at that point - but I only made a mental record. That added note was that some large portion of the KS units shipped may not have had this same process - esp. at the hands of someone who would recognize faulty behavior. It is also possible that some sufficient stress in shipping took it from the factory state. My mailer was well padded without damage - but when I opened it there were hard imprints (noted in my KS receipt post) on the anti static bag. This may have been from factory stacking or shipping.

@Ephuvex - glad you had good effect from the linked code. Next time order a spare :)
 
I had a similar experience with 3.6
from official sale series. ( no kickstart )
it driiving me nuts when some times the serial show data and others time did not.
had the same poblem with teensy as Midi some times worked some times did not

then just load a simple code to turn on led 13 and leave it on.

grab an usb external power supply plug the teensy and notice that led did not turn on.
unpluged the cable from teensy usb and replug it and led went on.

try different plugs and some times the led when on and other did not.

change the plug and same result.

what seems to be work is to unplug the usb cable from teensy usb port and replug

hope this helps
 
Last edited:
Status
Not open for further replies.
Back
Top