I'm wondering.. did I somehow manage to kill my Teensy3.2?
I've been working with this thing for a few months now.. with good success. I'm making a POV clock with 32 APA102 leds (DotStars).
I'm using PlatformIO and VisualStudioCode on a Linux machine.
Full Disclosure. My code is setup to clock the cpu at 120Mhz, and it's been working fine for pretty much the whole time.
I did try 144 and 168, but found it to be somewhat unstable.. so.. backed down to 120 and left it there.
I have the spi pins to the leds direct. no 3.3->5v level shifter. They have been working fine without it.
The other day, the USB port stopped responding. Nothing I did could get it to show back up on my machine. Plus, none of the on-board code would run. I tried multiple times to load up the good-old "blink" example using the arduino IDE with the CPU set to 72Mhz.
I'd hit "upload". the teensy dialog box would appear.. but nothing happened. I'd try hitting the flash button on the teensy.. but nothing. Unplug the USB, hold the flash button.. plug it in.. nothing. I have a coin cell batter wired in and a crystal to keep the RTC active. I pulled that battery out just in case. Still nothing. the dmesg log shows no activity at all. Not even a "usb detected.. error error error" of any kind. Nothing at all. So.. I just walked away for the day, fed up.
Came back the next day to try again. Plugged it in.. and the HID device showed in my dmesg log this time. Flashed "Blink" and the onboard LED started flashing like nothing was ever wrong.
Re-flashed blink a few more times .. just to see it upload.. and it worked as expected. Somehow it was back from the dead.
Went over to VSCode and uploaded my main program.. and it worked fine. Fired up the clock, and it was doing it's thing. No idea why.. but.. waiting a long time somehow restored it. So.. I continued to work on the code.
After about.. oh.. a couple of hours of changes and uploads.. it stopped working again. Same thing.. nothing in the dmesg log. Prior to it not responding though.. there were a long list of repeated messages in dmesg..
I left it unplugged for about 15 minutes to see if a "wait" would bring it back. and it didn't. I have a 12v -> 5v power regulator wired in. I wondered if it's output cap was holding enough charge? Seemed a stretch, but I disconnected the regulator. Still nothign comes back. No USB activity in the dmesg log.
Again.. fed up, I walked away until later that night.
Once again.. I was able to plug in the USB, and flash "blink" onto the teensy.
This is getting silly now.
This time, I leave blink on it, and just leave it plugged into the USB. Watched the LED flash for about 30 seconds.. then it just stopped.
dmesg showed:
Even thought it was still connected.
I unplugged, and re-plugged. .. the LED flashed about 5 or 6 times, and stopped. Same thing.
did it again.. got about 2 led flashes.
Again.. .. and now nothing. No more USB events in dmesg, and no flashing onboard LED.
I have a spare teensy3.2 not wired to anything at all. If I upload blink, or my POV code, it loads and runs without a problem. (not surprised by this to be honest). Both blink and my code sat on it running fine for about 30 minutes without a hicup.
I am planning to try to de-solder the parts wires wires to see if one of the connections is the blame, but given it had been running fine for a long time, I seems unlikely it's one of them. but.. who knows. I'll update in here with the result of desoldering.
Any thoughts? Why the USB connected just got progressively worse and worse until nothing.
Do I just chalk this thing up to the Gods of Blue-Smoke Electronics and use my backup teensy? I just hate the idea I might burn it up and still have no idea how I did it.
I've been working with this thing for a few months now.. with good success. I'm making a POV clock with 32 APA102 leds (DotStars).
I'm using PlatformIO and VisualStudioCode on a Linux machine.
Full Disclosure. My code is setup to clock the cpu at 120Mhz, and it's been working fine for pretty much the whole time.
I did try 144 and 168, but found it to be somewhat unstable.. so.. backed down to 120 and left it there.
I have the spi pins to the leds direct. no 3.3->5v level shifter. They have been working fine without it.
The other day, the USB port stopped responding. Nothing I did could get it to show back up on my machine. Plus, none of the on-board code would run. I tried multiple times to load up the good-old "blink" example using the arduino IDE with the CPU set to 72Mhz.
I'd hit "upload". the teensy dialog box would appear.. but nothing happened. I'd try hitting the flash button on the teensy.. but nothing. Unplug the USB, hold the flash button.. plug it in.. nothing. I have a coin cell batter wired in and a crystal to keep the RTC active. I pulled that battery out just in case. Still nothing. the dmesg log shows no activity at all. Not even a "usb detected.. error error error" of any kind. Nothing at all. So.. I just walked away for the day, fed up.
Came back the next day to try again. Plugged it in.. and the HID device showed in my dmesg log this time. Flashed "Blink" and the onboard LED started flashing like nothing was ever wrong.
Re-flashed blink a few more times .. just to see it upload.. and it worked as expected. Somehow it was back from the dead.
Went over to VSCode and uploaded my main program.. and it worked fine. Fired up the clock, and it was doing it's thing. No idea why.. but.. waiting a long time somehow restored it. So.. I continued to work on the code.
After about.. oh.. a couple of hours of changes and uploads.. it stopped working again. Same thing.. nothing in the dmesg log. Prior to it not responding though.. there were a long list of repeated messages in dmesg..
Code:
xhci_hcd 0000:00:14:0: WARN Cannot submit Set TR Deq Ptr
xhci_hcd 0000:00:14:0: A Set TR Deq Ptr command is pending.
I left it unplugged for about 15 minutes to see if a "wait" would bring it back. and it didn't. I have a 12v -> 5v power regulator wired in. I wondered if it's output cap was holding enough charge? Seemed a stretch, but I disconnected the regulator. Still nothign comes back. No USB activity in the dmesg log.
Again.. fed up, I walked away until later that night.
Once again.. I was able to plug in the USB, and flash "blink" onto the teensy.
This is getting silly now.
This time, I leave blink on it, and just leave it plugged into the USB. Watched the LED flash for about 30 seconds.. then it just stopped.
dmesg showed:
Code:
[79390.151627] usb 3-4.3.1: new full-speed USB device number 31 using xhci_hcd
[79390.268611] usb 3-4.3.1: New USB device found, idVendor=16c0, idProduct=0486
[79390.268617] usb 3-4.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[79390.268619] usb 3-4.3.1: Product: Teensyduino RawHID
[79390.268621] usb 3-4.3.1: Manufacturer: Teensyduino
[79390.268623] usb 3-4.3.1: SerialNumber: 4797740
[79390.270121] hid-generic 0003:16C0:0486.0016: hiddev0,hidraw0: USB HID v1.11 Device [Teensyduino Teensyduino RawHID] on usb-0000:00:14.0-4.3.1/input0
[79390.270771] hid-generic 0003:16C0:0486.0017: hidraw1: USB HID v1.11 Device [Teensyduino Teensyduino RawHID] on usb-0000:00:14.0-4.3.1/input1
[79390.680573] usb 3-4.3.1: USB disconnect, device number 31
Even thought it was still connected.
I unplugged, and re-plugged. .. the LED flashed about 5 or 6 times, and stopped. Same thing.
did it again.. got about 2 led flashes.
Again.. .. and now nothing. No more USB events in dmesg, and no flashing onboard LED.
I have a spare teensy3.2 not wired to anything at all. If I upload blink, or my POV code, it loads and runs without a problem. (not surprised by this to be honest). Both blink and my code sat on it running fine for about 30 minutes without a hicup.
I am planning to try to de-solder the parts wires wires to see if one of the connections is the blame, but given it had been running fine for a long time, I seems unlikely it's one of them. but.. who knows. I'll update in here with the result of desoldering.
Any thoughts? Why the USB connected just got progressively worse and worse until nothing.
Do I just chalk this thing up to the Gods of Blue-Smoke Electronics and use my backup teensy? I just hate the idea I might burn it up and still have no idea how I did it.