Teensy 4.1 - Accidentally Damaged USB Host, Alternatives

Quizerno

Member
I connected an unpowered USB 3.0 Hub to a Teensy 4.1 host and then connected a Keyboard (that I missed had RGB). This ended up damaging the host port (i'm assuming the voltage regular and/or the current switch) and I'm not getting power from either the 5V or either data lines from the host.

The board is still programmable, so I'm wondering if there is any chance of a work around to get it host USB some other way. I'm guessing no since the MCU won't be interacting with it, but figured I'd ask since it has serial ports.

I have ordered another Teensy 4.1 in the meantime.

To avoid this in the future, can I power the device with a separate 5V line? (not on the Teensy)
Ironically the reason I didn't power the hub is because I heard 5V can damage the teensy.
 
@Quizerno: Here are a couple of questions that might help with troubleshooting: 1) what sketch do you have loaded on the T4.1 ?? 2) does the loaded sketch enable/activate the host port (power to the host port is disabled/deactivated by default, primarily to avoid a power surge at startup, but power will be supplied when the host port is enabled/activated) ?? 3) what cable are you using to connect to the host port (& if not using the PJRC supplied cable, are the pins connected in the correct order) ??

Mark J Culross
KD5RXT
 
@Quizerno: Here are a couple of questions that might help with troubleshooting: 1) what sketch do you have loaded on the T4.1 ?? 2) does the loaded sketch enable/activate the host port (power to the host port is disabled/deactivated by default, primarily to avoid a power surge at startup, but power will be supplied when the host port is enabled/activated) ?? 3) what cable are you using to connect to the host port (& if not using the PJRC supplied cable, are the pins connected in the correct order) ??

Mark J Culross
KD5RXT
1. I can still program different sketches to the board.

2. Yes. I've tested with a couple sketches that utilize the host port. But mostly a hex file generated by ogx360_t4 .

3. Custom cable I created from parts (female usb port connected to a header). I ensured the pins were in the correct order and I had used it multiple times before this with a gamepad without any issue, right before it broke I was using a mouse.
 
power the hub is because I heard 5V can damage the teensy.
A well behaved HUB (following the rules?) won't put power back on the Teensy USB Host 5V pin.

Have a HUB HDD drive box HERE that is NOT well behaved. Once the code starts 5V comes back to the Teensy when it is unpowered, keeping the Teensy alive. It should not do that, but in regular use during testing at the time it caused no damage.

It has been well tested to using a well behaved powered hub for 'high power' or multiple devices .
 
A well behaved HUB (following the rules?) won't put power back on the Teensy USB Host 5V pin.

Have a HUB HDD drive box HERE that is NOT well behaved. Once the code starts 5V comes back to the Teensy when it is unpowered, keeping the Teensy alive. It should not do that, but in regular use during testing at the time it caused no damage.

It has been well tested to using a well behaved powered hub for 'high power' or multiple devices .
Is there any way to properly test which are well behaved and which are rule-breakers that put 5V where they're not supposed to?
 
If you were using an unpowered hub then it can't feed 5V back into the teensy, the teensy is the only source of power.

It could potentially feed 5V onto the USB data lines but any hub that did that isn't just breaking the spec, it's shredding it, burning the remains and laughing on it's grave. It would risk permanent damage to any device it's connected to, not just a teensy.

U5 on the teensy is supposed to provide a current limit on the USB host port, if your connected device tried to pull more than 0.5 A or the teensy doesn't enable USB host then it should shut off the Host power output. If that part was damaged in some way then it would explain what you are seeing. If you have fine enough probes you could check the In, out and enable pins on that part.
 
Is there any way to properly test which are well behaved and which are rule-breakers that put 5V where they're not supposed to?
I posted about my powered HUB/Drive box beign bad and nobody else ever found one - though not sure anyone else had a DIY bare 2.5" Drive box HUB in one. It would be an easy quick test if are looking for it. And in my case it caused no harm - just returning 5V on a 5V line it should not have. Any good quality normal powered hub likely to be up to spec.
 
If you were using an unpowered hub then it can't feed 5V back into the teensy, the teensy is the only source of power.
Yes, I was saying that fear of such a thing was the reason I didn't power it.

It could potentially feed 5V onto the USB data lines but any hub that did that isn't just breaking the spec, it's shredding it, burning the remains and laughing on it's grave. It would risk permanent damage to any device it's connected to, not just a teensy.
What about feedback? I suppose as defragster said, any electronics worth a damn should have preventative measures.

U5 on the teensy is supposed to provide a current limit on the USB host port, if your connected device tried to pull more than 0.5 A or the teensy doesn't enable USB host then it should shut off the Host power output. If that part was damaged in some way then it would explain what you are seeing. If you have fine enough probes you could check the In, out and enable pins on that part.
Yeah I suspect the TPD3S014 or TLV757P got damaged.
 
The TPD3S0x4 current limit switch used on USB Host to control the power to the port has reverse current protection. Connecting external 5V to it 'shouldn't' damage it. https://forum.pjrc.com/index.php?threads/usb-host-5v-backfeed.73329/

If you did damage it somehow and not the USB Host data pins themselves, one option might be to hardwire the USB Host 5V pin to the 5V pin of the Teensy 4.1. The port power would always be on and not switched in this case.
 
The TPD3S0x4 current limit switch used on USB Host to control the power to the port has reverse current protection. Connecting external 5V to it 'shouldn't' damage it. https://forum.pjrc.com/index.php?threads/usb-host-5v-backfeed.73329/

If you did damage it somehow and not the USB Host data pins themselves, one option might be to hardwire the USB Host 5V pin to the 5V pin of the Teensy 4.1. The port power would always be on and not switched in this case.

As in the first post. I am not getting any readings from the USB host data pins. The USB host is not turning on.
 
As in the first post. I am not getting any readings from the USB host data pins. The USB host is not turning on.

No USB host activity or voltage is normal unless you run specific software on Teensy. Maybe you're aware of this and you're running the correct software? But I don't see any mention of what you're running on Teensy during these tests. That detail matters.

For the +5V power output, you must use the USBHost_t36 library and call the begin() function. It turns on the host port power. If you look at the Teensy 4.1 schematic, you'll see the TPD3S014 chip gets an enable signal from Teensy. It has a 100K resistor which keep that enable signal low (power off) if Teensy hasn't initialized that pin and driven it high to turn on the USB host power.

Testing the D+ and D- data signals is possible with a voltmeter, but you'll need to use this special program.

Disconnect and USB device before you run this! By the USB spec, host pins are supposed to stay at zero voltage until a USB device raises one of them with a 1.5K pullup resistor. This special hardware test program completely violates the USB spec by driving those pins, so you definitely do not want any USB device wired up when you run this.

If the pins work, you can expect to measure about 0.75 to 0.80 volts (not full 3.3V or 5V) when that program runs. See the explanation on that message.

Hopefully this can help you conclusively test your USB host port. If the hardware really is damaged, these tests can confirm. Just know that if you don't run specific programs on Teensy, the expected behavior is no activity with all pins at zero volts.
 
No USB host activity or voltage is normal unless you run specific software on Teensy. Maybe you're aware of this and you're running the correct software? But I don't see any mention of what you're running on Teensy during these tests. That detail matters.


For the +5V power output, you must use the USBHost_t36 library and call the begin() function. It turns on the host port power. If you look at the Teensy 4.1 schematic, you'll see the TPD3S014 chip gets an enable signal from Teensy. It has a 100K resistor which keep that enable signal low (power off) if Teensy hasn't initialized that pin and driven it high to turn on the USB host power.
Yes. I've tested with a couple sketches that utilize the host port. But mostly a hex file generated by ogx360_t4 .
But then switched to less complicated sketches when I found it wasn't working. They utilize USBHost_t36


Testing the D+ and D- data signals is possible with a voltmeter, but you'll need to use this special program.

Disconnect and USB device before you run this! By the USB spec, host pins are supposed to stay at zero voltage until a USB device raises one of them with a 1.5K pullup resistor. This special hardware test program completely violates the USB spec by driving those pins, so you definitely do not want any USB device wired up when you run this.

If the pins work, you can expect to measure about 0.75 to 0.80 volts (not full 3.3V or 5V) when that program runs. See the explanation on that message.

Hopefully this can help you conclusively test your USB host port. If the hardware really is damaged, these tests can confirm. Just know that if you don't run specific programs on Teensy, the expected behavior is no activity with all pins at zero volts.

Appreciated. I'll give it a try
 
No USB host activity or voltage is normal unless you run specific software on Teensy. Maybe you're aware of this and you're running the correct software? But I don't see any mention of what you're running on Teensy during these tests. That detail matters.

For the +5V power output, you must use the USBHost_t36 library and call the begin() function. It turns on the host port power. If you look at the Teensy 4.1 schematic, you'll see the TPD3S014 chip gets an enable signal from Teensy. It has a 100K resistor which keep that enable signal low (power off) if Teensy hasn't initialized that pin and driven it high to turn on the USB host power.

Testing the D+ and D- data signals is possible with a voltmeter, but you'll need to use this special program.

Disconnect and USB device before you run this! By the USB spec, host pins are supposed to stay at zero voltage until a USB device raises one of them with a 1.5K pullup resistor. This special hardware test program completely violates the USB spec by driving those pins, so you definitely do not want any USB device wired up when you run this.

If the pins work, you can expect to measure about 0.75 to 0.80 volts (not full 3.3V or 5V) when that program runs. See the explanation on that message.

Hopefully this can help you conclusively test your USB host port. If the hardware really is damaged, these tests can confirm. Just know that if you don't run specific programs on Teensy, the expected behavior is no activity with all pins at zero volts.
Well good news.

I'm not sure what happened.
I ran your host test program and checked the inputs and everything looked fine.

I ran the ogx360_t4 code and the USB host began functioning normally.
The only hiccup is that the orange light still doesn't come on anymore, but obviously that's not a big issue.

Thanks for your help.
 
Back
Top