Teensy 3.1 still working but stop loading sketches


I am getting a very very weird problem with my Teensy 3.1.
At the beginning it worked fine, I could load programs by pressing the button after the Upload command in Arduino. Sometimes, it even loaded automatically without me pressing the button.

But then after some time, it started some mild problem: sometimes it would load, and sometimes it wouldn't for no reason. When it wouldn't, the teensy was still recognized nicely by Windows in Device manager. There was no serial port conflict.

Then the problem getting worse, most of the time it wouldn't load. I would have to try plugging/unplugging like 20 times until it loaded. And the very last time it loaded, it took an overnight leaving the computer running and then at some point it loaded automatically. Now even that doesn't happen anymore, I am totally unable to load any new program. But the program that was loaded is still running fine and through the serial terminal I can still read what the teensy sends out and send serial data to it.

That means that there should be no problem with the cable. I am using 2 new micro USB phone cables, both used to work fine but now strangely using one will show the teensy in Device Manager while the other won't (though I still hear the sound indicating it's plugged in, and still can read/write serial data from/to the teensy with this cable).

I have searched the forum and tried many things to no avail.

This unit used to work with 2 of my PC's: one running Windows 7 with Arduino 1.6.2 and the other running Windows 10 with Arduino 1.8.1. Now on both PCs, when I plug the teensy in (with the "nice" cable) it's recognized in Device Manager, just won't load. Also to note that on my Windows 7 machine, it's recognized as "Teensy" while on my Windows 10 machine it's only recognized as "COM5".

If it would load just one more time then I can use it for a permanent project, otherwise it's useless :(

Thanks in advance for any hint.

Is it IDE SerMon being used? It is told to disconnect before programming. If there is a USB connect ( from another monitor app ) when programming is attempted that will cause a failure.

TeensyDuino has a Verbose Log under Help that will show connection and upload details.

As noted - good cables can go bad - the other may be on the edge. I've had at least one stop working - but many varied that have not failed - some with two years of use. I've also not had a Teensy fail - though I'm not using the first T_3.1's much these days AFAIK they are still 100%. I'd get a new cable or two before I worried about the Teensy.

Windows can - it seems - put a time out on a device if it tries and fails. I've had some go offline overnight as well. It seems unplugging them during detection when seen as different can play havoc, so after letting it sit - plug it in with the button pressed - pause a sec - release button and try an upload?
Also to note that on my Windows 7 machine, it's recognized as "Teensy" while on my Windows 10 machine it's only recognized as "COM5".

At least that part is normal.

With Windows 10, Microsoft finally began shipping a system INF to cause their own USBSER.SYS driver to load for serial devices.

Before Windows 10, everyone using standard serial (technically usb communication class abstract control model - one of many standard officially published by the usb organization) had to provide their own INF. Usually this is called a "driver", even though it's merely an INF that tells Windows XP, Vista, 7, 8 to load their own USBSER.SYS driver. The INF PJRC provides has "Teensy" in its description, so when you see the device appear in the Windows Device Manager, it says Teensy.

On Windows 10, the name which appears is the generic name Microsoft put into their own INF. So it's perfectly normal to see this difference between Windows 10 and older versions of Windows.

As for the rest of those problems, I have no idea what's wrong.
@ defragster:
Thanks so much for all the hints. I followed the steps to no avail:
- Not sure what SerMon is but I tried disconnecting before programming
- I have tried with 2 new USB cables to no avail
- There is absolutely nothing using the serial port, so no conflict
- I tried plugging in with button pressed, also trying to pressing many times during upload

This is my verbose log (teensy is correctly recognized by Windows 10 x64 as "COM5"):

20:30:19.177: Teensy Loader 1.35, begin program
20:30:19.216: Listening for remote control on port 3149
20:30:19.216: initialized, showing main window
20:30:19.559: HID/win32: vid:045E pid:07FD ver:0315
20:30:19.560: HID/win32: vid:045E pid:07FD ver:0315
20:30:19.561: HID/win32: vid:045E pid:07FD ver:0315
20:30:19.561: HID/win32: vid:0001 pid:0001 ver:0001
20:30:19.622: remote connection opened
20:30:19.624: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_post_compile)"
20:30:19.625: remote cmd: "status"
20:30:19.626: status data sent
20:30:19.627: remote cmd: "dir:C:\Users\HP\AppData\Local\Temp\arduino_build_601202\"
20:30:19.627: remote cmd: "file:firmware.ino.hex"
20:30:19.651: File "firmware.ino.hex". 54504 bytes, 21% used
20:30:19.657: remote cmd: "status"
20:30:19.657: status data sent
20:30:19.657: remote cmd: "auto:eek:n"
20:30:19.668: remote connection closed
20:30:19.736: remote connection opened
20:30:19.736: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_post_compile)"
20:30:19.736: remote cmd: "status"
20:30:19.736: status data sent
20:30:19.736: remote cmd: "dir:C:\Users\HP\AppData\Local\Temp\arduino_build_601202\"
20:30:19.736: remote cmd: "file:firmware.ino.hex"
20:30:19.751: File "firmware.ino.hex". 54504 bytes, 21% used
20:30:19.751: remote cmd: "status"
20:30:19.751: status data sent
20:30:19.789: remote connection closed
20:30:19.805: remote connection opened
20:30:19.805: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_reboot)"
20:30:19.805: remote cmd: "status"
20:30:19.805: status data sent
20:30:19.805: remote cmd: "status"
20:30:19.805: status data sent
20:30:19.921: remote cmd: "status"
20:30:19.921: status data sent
20:30:20.036: remote cmd: "status"
20:30:20.036: status data sent
20:30:20.152: remote cmd: "status"
20:30:20.152: status data sent
20:30:20.268: remote cmd: "status"
20:30:20.269: status data sent
20:30:20.390: remote cmd: "status"
20:30:20.390: status data sent
20:30:20.505: remote cmd: "status"
20:30:20.505: status data sent
20:30:20.621: remote cmd: "status"
20:30:20.621: status data sent
20:30:20.736: remote cmd: "status"
20:30:20.736: status data sent
20:30:20.852: remote cmd: "status"
20:30:20.852: status data sent
20:30:20.968: remote cmd: "status"
20:30:20.969: status data sent
20:30:21.090: remote cmd: "status"
20:30:21.090: status data sent
20:30:21.205: remote cmd: "status"
20:30:21.205: status data sent
20:30:21.321: remote cmd: "status"
20:30:21.321: status data sent
20:30:21.437: remote cmd: "status"
20:30:21.437: status data sent
20:30:21.552: remote cmd: "status"
20:30:21.552: status data sent
20:30:21.668: remote cmd: "status"
20:30:21.669: status data sent
20:30:21.790: remote cmd: "status"
20:30:21.790: status data sent
20:30:21.905: remote cmd: "status"
20:30:21.905: status data sent
20:30:22.021: remote cmd: "status"
20:30:22.021: status data sent
20:30:22.136: remote cmd: "status"
20:30:22.136: status data sent
20:30:22.252: remote cmd: "status"
20:30:22.252: status data sent
20:30:22.367: remote cmd: "status"
20:30:22.368: status data sent
20:30:22.489: remote cmd: "status"
20:30:22.489: status data sent
20:30:22.604: remote cmd: "status"
20:30:22.604: status data sent
20:30:22.720: remote cmd: "status"
20:30:22.720: status data sent
20:30:22.835: remote cmd: "status"
20:30:22.835: status data sent
20:30:22.951: remote cmd: "status"
20:30:22.951: status data sent
20:30:23.067: remote cmd: "status"
20:30:23.068: status data sent
20:30:23.188: remote cmd: "status"
20:30:23.188: status data sent
20:30:23.305: remote cmd: "status"
20:30:23.305: status data sent
20:30:23.420: remote cmd: "status"
20:30:23.420: status data sent
20:30:23.536: remote cmd: "status"
20:30:23.536: status data sent
20:30:23.652: remote cmd: "status"
20:30:23.652: status data sent
20:30:23.768: remote cmd: "status"
20:30:23.768: status data sent
20:30:23.889: remote cmd: "status"
20:30:23.889: status data sent
20:30:24.004: remote cmd: "status"
20:30:24.004: status data sent
20:30:24.120: remote cmd: "status"
20:30:24.120: status data sent
20:30:24.235: remote cmd: "status"
20:30:24.235: status data sent
20:30:24.351: remote cmd: "status"
20:30:24.351: status data sent
20:30:24.467: remote cmd: "status"
20:30:24.468: status data sent
20:30:24.588: remote cmd: "status"
20:30:24.588: status data sent
20:30:24.704: remote cmd: "status"
20:30:24.704: status data sent
20:30:24.819: remote cmd: "status"
20:30:24.819: status data sent
20:30:24.935: remote cmd: "status"
20:30:24.935: status data sent
20:30:25.050: remote cmd: "status"
20:30:25.050: status data sent
20:30:25.166: remote cmd: "status"
20:30:25.167: status data sent
20:30:25.288: remote cmd: "status"
20:30:25.288: status data sent
20:30:25.403: remote cmd: "status"
20:30:25.403: status data sent
20:30:25.518: remote cmd: "status"
20:30:25.518: status data sent
20:30:25.650: remote connection closed
20:30:57.008: Verbose Info event
20:31:38.163: remote connection opened
20:31:38.164: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_post_compile)"
20:31:38.164: remote cmd: "status"
20:31:38.165: status data sent
20:31:38.165: remote cmd: "dir:C:\Users\HP\AppData\Local\Temp\arduino_build_601202\"
20:31:38.166: remote cmd: "file:firmware.ino.hex"
20:31:38.177: File "firmware.ino.hex". 54504 bytes, 21% used
20:31:38.181: remote cmd: "status"
20:31:38.181: status data sent
20:31:38.193: remote connection closed
20:31:38.236: remote connection opened
20:31:38.236: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_post_compile)"
20:31:38.236: remote cmd: "status"
20:31:38.236: status data sent
20:31:38.236: remote cmd: "dir:C:\Users\HP\AppData\Local\Temp\arduino_build_601202\"
20:31:38.236: remote cmd: "file:firmware.ino.hex"
20:31:38.251: File "firmware.ino.hex". 54504 bytes, 21% used
20:31:38.251: remote cmd: "status"
20:31:38.251: status data sent
20:31:38.283: remote connection closed
20:31:38.283: remote connection opened
20:31:38.283: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_reboot)"
20:31:38.298: remote cmd: "status"
20:31:38.298: status data sent
20:31:38.298: remote cmd: "status"
20:31:38.298: status data sent
20:31:38.414: remote cmd: "status"
20:31:38.414: status data sent
20:31:38.536: remote cmd: "status"
20:31:38.536: status data sent
20:31:38.652: remote cmd: "status"
20:31:38.652: status data sent
20:31:38.768: remote cmd: "status"
20:31:38.768: status data sent
20:31:38.883: remote cmd: "status"
20:31:38.883: status data sent
20:31:38.999: remote cmd: "status"
20:31:38.999: status data sent
20:31:39.115: remote cmd: "status"
20:31:39.116: status data sent
20:31:39.236: remote cmd: "status"
20:31:39.236: status data sent
20:31:39.352: remote cmd: "status"
20:31:39.352: status data sent
20:31:39.467: remote cmd: "status"
20:31:39.467: status data sent
20:31:39.583: remote cmd: "status"
20:31:39.583: status data sent
20:31:39.698: remote cmd: "status"
20:31:39.698: status data sent
20:31:39.814: remote cmd: "status"
20:31:39.815: status data sent
20:31:39.936: remote cmd: "status"
20:31:39.936: status data sent
20:31:40.051: remote cmd: "status"
20:31:40.051: status data sent
20:31:40.167: remote cmd: "status"
20:31:40.167: status data sent
20:31:40.283: remote cmd: "status"
20:31:40.283: status data sent
20:31:40.398: remote cmd: "status"
20:31:40.398: status data sent
20:31:40.514: remote cmd: "status"
20:31:40.515: status data sent
20:31:40.635: remote cmd: "status"
20:31:40.635: status data sent
20:31:40.751: remote cmd: "status"
20:31:40.751: status data sent
20:31:40.867: remote cmd: "status"
20:31:40.867: status data sent
20:31:40.982: remote cmd: "status"
20:31:40.982: status data sent
20:31:41.098: remote cmd: "status"
20:31:41.098: status data sent
20:31:41.213: remote cmd: "status"
20:31:41.214: status data sent
20:31:41.335: remote cmd: "status"
20:31:41.335: status data sent
20:31:41.452: remote cmd: "status"
20:31:41.452: status data sent
20:31:41.567: remote cmd: "status"
20:31:41.567: status data sent
20:31:41.683: remote cmd: "status"
20:31:41.683: status data sent
20:31:41.798: remote cmd: "status"
20:31:41.798: status data sent
20:31:41.914: remote cmd: "status"
20:31:41.915: status data sent
20:31:42.036: remote cmd: "status"
20:31:42.036: status data sent
20:31:42.152: remote cmd: "status"
20:31:42.152: status data sent
20:31:42.267: remote cmd: "status"
20:31:42.267: status data sent
20:31:42.383: remote cmd: "status"
20:31:42.383: status data sent
20:31:42.498: remote cmd: "status"
20:31:42.498: status data sent
20:31:42.614: remote cmd: "status"
20:31:42.615: status data sent
20:31:42.736: remote cmd: "status"
20:31:42.736: status data sent
20:31:42.851: remote cmd: "status"
20:31:42.851: status data sent
20:31:42.967: remote cmd: "status"
20:31:42.967: status data sent
20:31:43.082: remote cmd: "status"
20:31:43.082: status data sent
20:31:43.198: remote cmd: "status"
20:31:43.198: status data sent
20:31:43.313: remote cmd: "status"
20:31:43.314: status data sent
20:31:43.435: remote cmd: "status"
20:31:43.435: status data sent
20:31:43.551: remote cmd: "status"
20:31:43.551: status data sent
20:31:43.666: remote cmd: "status"
20:31:43.666: status data sent
20:31:43.782: remote cmd: "status"
20:31:43.782: status data sent
20:31:43.898: remote cmd: "status"
20:31:43.898: status data sent
20:31:44.013: remote cmd: "status"
20:31:44.014: status data sent
20:31:44.150: remote connection closed
20:31:59.364: remote connection opened
20:31:59.365: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_post_compile)"
20:31:59.365: remote cmd: "status"
20:31:59.365: status data sent
20:31:59.366: remote cmd: "dir:C:\Users\HP\AppData\Local\Temp\arduino_build_601202\"
20:31:59.366: remote cmd: "file:firmware.ino.hex"
20:31:59.377: File "firmware.ino.hex". 54504 bytes, 21% used
20:31:59.381: remote cmd: "status"
20:31:59.382: status data sent
20:31:59.393: remote connection closed
20:31:59.436: remote connection opened
20:31:59.436: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_post_compile)"
20:31:59.436: remote cmd: "status"
20:31:59.436: status data sent
20:31:59.436: remote cmd: "dir:C:\Users\HP\AppData\Local\Temp\arduino_build_601202\"
20:31:59.436: remote cmd: "file:firmware.ino.hex"
20:31:59.467: File "firmware.ino.hex". 54504 bytes, 21% used
20:31:59.467: remote cmd: "status"
20:31:59.467: status data sent
20:31:59.499: remote connection closed
20:31:59.499: remote connection opened
20:31:59.514: remote cmd: "comment: Teensyduino 1.35 - WINDOWS (teensy_reboot)"
20:31:59.514: remote cmd: "status"
20:31:59.514: status data sent
20:31:59.514: remote cmd: "status"
20:31:59.514: status data sent
20:31:59.630: remote cmd: "status"
20:31:59.631: status data sent
20:31:59.752: remote cmd: "status"
20:31:59.752: status data sent
20:31:59.867: remote cmd: "status"
20:31:59.867: status data sent
20:31:59.983: remote cmd: "status"
20:31:59.983: status data sent
20:32:00.099: remote cmd: "status"
20:32:00.099: status data sent
20:32:00.215: remote cmd: "status"
20:32:00.215: status data sent
20:32:00.330: remote cmd: "status"
20:32:00.331: status data sent
20:32:00.452: remote cmd: "status"
20:32:00.452: status data sent
20:32:00.568: remote cmd: "status"
20:32:00.568: status data sent
20:32:00.684: remote cmd: "status"
20:32:00.684: status data sent
20:32:00.799: remote cmd: "status"
20:32:00.799: status data sent
20:32:00.915: remote cmd: "status"
20:32:00.915: status data sent
20:32:01.030: remote cmd: "status"
20:32:01.031: status data sent
20:32:01.153: remote cmd: "status"
20:32:01.153: status data sent
20:32:01.268: remote cmd: "status"
20:32:01.268: status data sent
20:32:01.384: remote cmd: "status"
20:32:01.384: status data sent
20:32:01.499: remote cmd: "status"
20:32:01.499: status data sent
20:32:01.615: remote cmd: "status"
20:32:01.615: status data sent
20:32:01.731: remote cmd: "status"
20:32:01.731: status data sent
20:32:01.852: remote cmd: "status"
20:32:01.852: status data sent
20:32:01.968: remote cmd: "status"
20:32:01.968: status data sent
20:32:02.083: remote cmd: "status"
20:32:02.083: status data sent
20:32:02.199: remote cmd: "status"
20:32:02.199: status data sent
20:32:02.314: remote cmd: "status"
20:32:02.314: status data sent
20:32:02.430: remote cmd: "status"
20:32:02.431: status data sent
20:32:02.553: remote cmd: "status"
20:32:02.553: status data sent
20:32:02.668: remote cmd: "status"
20:32:02.668: status data sent
20:32:02.783: remote cmd: "status"
20:32:02.783: status data sent
20:32:02.899: remote cmd: "status"
20:32:02.899: status data sent
20:32:03.014: remote cmd: "status"
20:32:03.014: status data sent
20:32:03.130: remote cmd: "status"
20:32:03.131: status data sent
20:32:03.251: remote cmd: "status"
20:32:03.251: status data sent
20:32:03.367: remote cmd: "status"
20:32:03.367: status data sent
20:32:03.483: remote cmd: "status"
20:32:03.483: status data sent
20:32:03.598: remote cmd: "status"
20:32:03.598: status data sent
20:32:03.714: remote cmd: "status"
20:32:03.714: status data sent
20:32:03.829: remote cmd: "status"
20:32:03.830: status data sent
20:32:03.951: remote cmd: "status"
20:32:03.951: status data sent
20:32:04.066: remote cmd: "status"
20:32:04.066: status data sent
20:32:04.182: remote cmd: "status"
20:32:04.182: status data sent
20:32:04.298: remote cmd: "status"
20:32:04.298: status data sent
20:32:04.414: remote cmd: "status"
20:32:04.414: status data sent
20:32:04.529: remote cmd: "status"
20:32:04.530: status data sent
20:32:04.651: remote cmd: "status"
20:32:04.651: status data sent
20:32:04.766: remote cmd: "status"
20:32:04.766: status data sent
20:32:04.882: remote cmd: "status"
20:32:04.882: status data sent
20:32:04.997: remote cmd: "status"
20:32:04.997: status data sent
20:32:05.113: remote cmd: "status"
20:32:05.113: status data sent
20:32:05.228: remote cmd: "status"
20:32:05.230: status data sent
20:32:05.366: remote connection closed
20:32:18.280: Verbose Info event
Last edited:
At least that part is normal.
Thanks for the explanation! It should means that my Teensy is working properly from the perspective of Windows on both machines. I am at this time ordering 2 new Teensy 3.2 just to check. I am planning to use Teensy 3.1/3.2 for some small-quantity production and this issue has been a major concern.
I tried reinstalling Arduino & Teensyduino to no avail. Then I suspected it should be a problem with the hardware, so I washed the teensy and blew it with a hot air gun to melt all pad. THEN IT WORKS! Hopefully the problem will not happen again. So, it should have been some dirty/shorted pins.