Custom PCB Bootloader not Blinking LED

Ananas

New member
Hello,

I am developing a data acquisition CAN processing board using an embedded teensy 4.1 on a custom PCB. I am using the preprogrammed bootloader purchased from PJRC.

1732645264792.png


The board uses a slight modification to the Teensy 4.1 power system: power is supplied with 24V into a 5V and 3.3V switching regulator, the 5V regulator is powered on first and replaces the USB 5V on the teensy schematic. The 3.3V regulator is powered on by PMIC_ON_REQ pin in the power up process. I have proven that steps 1-6 are successful of the power up sequence of my board, but the DCDC_PSWITCH pin is not being driven high and there is no power to VDD_SOC_IN. The bootloader LEDS are not flashing at all but do turn on if I manually ground PTB3 on the bootloader, so I know the LED works.
1732644970238.png

Fig 1. Schematic of MCU power

1732644398752.png

Fig 2. Bootloader and flash schematic

Further, the bootloader PTB2 pull up resistor is active, the switch has 3.3V when open and PTB2 is pulled to ground when pressed. POR_B to PTB1 is also 3.3V as expected.

How can I determine if the bootloader chip is functional? I am concerned about internal damage to the chip during reflow since no pins are bridged using microscope inspection and no pins have shorted to ground.


I appreciate any assistance,

Ethan
 
Continuing my investigation into why DCDC_PSWITCH isn't being driven high, I decided to measure the stability of my 3.3V DCDC converter. I measured a 50mV pk to pk value, which I assume is considered stable given that I am well within the MKLs power supply range of 1.17V to 3.6V.

Reading through the bootloader thread I see some people with issues similar to mine. I've verified that the MKL is executing code by checking the pull up resistor on pin 10, which is at 3.3V. The MKL is also not being held at reset since POR_B is high.

If the bootloader never drives the DCDC_PSWITCH high, is it supposed to run the code to blink the error LEDS?

1733242357553.png



1733240410271.png
 
To add a bit more info, at startup the MKL02 waits for power to be stable (above approx 3.0V) for several milliseconds. Then it drives PSWITCH high. No blink code or other communication is performed during that startup wait. The code assumes the MKL02 chip started running but the power is starting up slowly and it needs to wait before driving PSWITCH.

If your MKL02 chip really is getting 3.3V power with only 50mV ripping, it should have driven PSWITCH high. If you observed the pushbutton having 3.3V weak pullup, that's good verification the MKL02 is getting power. The only thing I can think to check is the connection from MKL02 to PSWITCH. Maybe bad solder or a PCB issue?

As an extra check for the pushbutton pullup, you can try adding a 100K or 220K resistor in parallel with the pushbutton. This ought to give you a resistor divider with the weak pullup inside the MKL02 chip. Expect to measure somewhere in 2V to 3V range. Exact value isn't critical... it's just to confirm the 3.3V you're seeing on the pushbutton really is from the internal pullup resistor and not something wrong like a short to 3.3V power.
 
Back
Top