MKL02Z Chip Overheating on Teensy 4.1

colin_m

Member
Hi all,

I'm hoping someone can help me or point me in the right direction to try and find the fault that we are observing. We have created a PCB that is supposed to take 2x Teensy 4.1 boards (CPU1 and CPU2). For some reason, on some of the boards, the Teensy's MKL02Z chip will overheat when inserted in the CPU1 position and then work fine in the CPU2 position. On other boards it will be the other way around. We have found a few boards so far that the Teensy works in both positions and one that the Teensy does not work in any of the positions.

We have tested the 5 V power supplies for the VIN pin on all the boards, and they look good. We have also checked the GND connections, and they ring out fine. Before inserting a Teensy we do cut the trace on the back so that it won't get power from the USB connection anymore.

To me it seems that there must be a problem with the PCB manufacturing process to get such erratic results. What I would like advice on is what could cause the MKL02Z chip to overheat specifically? I'm hoping that might help us find the problem with the PCBs.

I have attached the schematic that we used to create the PCB. Maybe it is obvious to someone that we made an error somewhere.

Thanks very much for your time.
 

Attachments

  • 20250909 - Schematics v3.0.pdf
    1.4 MB · Views: 71
Only had a brief look...
Should be using 74HCT595 not 74HC595. HCT595 input voltage thresholds are more inline with Teensy running at 3.3V. HC595 thresholds are marginal.
Where are the pull-ups for I2C connections going to connectors?
1 of the displays is running at 5V. Screen_RX signal could present 5V to Teensy input pin. Not good.
U9 pin 10 should not be left floating. Connect to GND thru resistor.
Is power connector J26 spec'd to carry the current (power) you're expecting? It seems small.

Addressing your heating issue:
3.3V_1/2/3 are all tied together between CPU1 and CPU2. Not good. Voltage regulators do not like being back driven. These outputs should be diode OR'd if you're going to connect them together. OR better still, keep them separate. Schematic doesn't show these pins being used anywhere.
Similar comment for Vusb. Don't connect them together.
Vbat isn't being used and won't hurt if connected together.
Program pins connected together could be problematic. I'd separate them.

I suspect it's regulator U4 that's getting hot and not U2 (MKL02Z chip).

As for your observations, each Teensy has slightly different time-constants wrt powering up. So it's very possible for CPU1 (or CPU2) 3.3V to come up first and then back drive the other CPU 3.3V regulator. Not to mention the first regulator that comes up will try to power up the other CPU where the power-up sequence will be out of step (see here). Could this cause U2 to heat up?
 
Last edited:
Hi Bill,

Thanks for taking the time to have a look and for posting your reply.

Should be using 74HCT595 not 74HC595. HCT595 input voltage thresholds are more inline with Teensy running at 3.3V. HC595 thresholds are marginal.
We have used the 74HC595 chips successfully in the past, but I hear your suggestion, and we will investigate making that change.

Where are the pull-ups for I2C connections going to connectors?
Good question! I will get that sorted out.

1 of the displays is running at 5V. Screen_RX signal could present 5V to Teensy input pin. Not good.
This connector is not used, but I see what you mean.

U9 pin 10 should not be left floating. Connect to GND thru resistor.
We have also used these shift registers for many years with the DS pin on the first chip floating without any issues. I realise it is not the best design practice though. Question: Why would you connect it to ground through a resistor instead of simply directly to ground?

Is power connector J26 spec'd to carry the current (power) you're expecting? It seems small.
Yes, I think it is. Will have someone check it though.

As for the Teensy heating issue, we found the problem. The PCB designer designated one of the 3.3 V pins as GND and then shorted it to GND.
1757427281614.png
 
Aha! BTW, it's on both CPU sockets U13, U15.
However this begs the question, why would any Teensy work with this short in place? The Teensy 3.3V regulator is being shorted to GND in both positions. Bad connector socket? Track got blown open?
I would still separate 3.3V_1/2/3 between CPU's if you're going to respin pcb. Sure, the 3.3V pins can be tied together at each CPU, but not between CPU's.

U9 floating input could go directly to ground or 3.3V. But, in case you need it for testing or a future feature, pulling the pin thru a resistor gives you options (instead of a hard wired connection that you'd need to cut).

Glad to hear you found the issue.
 
Yeah, not sure about that. We're still investigating. And I forgot to mention it, but I did check the other 3.3 V pin on both U14 and U16 and they are floating. Thanks again.
 
3.3V_1/2/3 are all tied together between CPU1 and CPU2. Not good. Voltage regulators do not like being back driven. These outputs should be diode OR'd if you're going to connect them together. OR better still, keep them separate.
I'd say definitely keep separate - I've seen regulators fight each other and burn out an entire board - in this case linear regulators, each of which is a high loop gain feedback circuit, the combination presumably became unstable and oscillated full-whack...
 
Back
Top