T4.0 Hangs, Small LED flashes twice then Pauses...continuously doing that sequence

donperryjm

Well-known member
T4.0 Hangs, Small LED flashes twice then Pauses...continuously doing that sequence.

Is this something that is know, is this an error code of some sort?
 
The diagnostic RED LED flashes are noted on this page: 2 Blinks = NXP JTAG Not Responding

The note for that is:
No communication is working! The 2 likely causes for this problem are improper power startup sequence, or a problem with any of these connections between the MKL02 and IMXRT chip

How is the Teensy being powered? Standard USB or external supply?

Had it worked before and been programmed from new?
 
Powered externally - there is a diode in the line.
the sketch would be running for hours, or minutes, or seconds and then does it.
It is likely to do it on USB cable removal.


Project involves SPI communication.

update: device hangs and then pressing reset button it start blinking twice. Trying to see if it only blinks during the attempted reset after hang.
 
Note: The T_4.0 does not have a RESET button.

The Button on the T_4.0 puts the Teensy into Program mode.
 
Pushing the button would have a different RED LED response.

The 2 Blink suggests it restarted (after power loss?) - and the (external?) power was not suitable in current supply and rise time.

The 2 Blinks is on External or removing USB and going to external?

Is it always fine on USB power? How is the External power isolated from being present at the same time as the USB power.
 
The freeze happens either on USB, or EXT or on both.
the power is isolated by cutting the line on the board and adding a diode.
Noticed now that at 600Mhz it freezes, on 396 Mhz the freeze is yet to be seen.

Gonna do some more ABABABA tests and see.
 
Maybe we should back up some here, and get back to basics.

That is, which LED is blinking? RED or Orange?

Screenshot.jpg

If Red one near USB port than the number of blinks might mean the stuff mentioned.

If the Orange one near Pins 13 and 14 than that is completely different. That is saying Pin 13 is being set HIGH or LOW...

Like maybe the code is running something like:
Code:
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(250);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(250);                       // wait for a second
  digitalWrite(LED_BUILTIN, HIGH);    // turn the LED off by making the voltage LOW
  delay(250);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

This could be anything! For example, sometimes I have put in code like this in some function to let me know it failed. And maybe I put in different blink patterns depending on which failure.

But so far in this thread I am not sure I have seen anything about what is hooked up to the T4? What code are you running or the like? So sort of hard to give any suggestions on what to check.
 
Not pin 13 but the smaller debug led

I have a spi lcd connected.

EDIT:

yup, def not loving the 600MHZ.

I'm going to add 22ohm resistor on the SPI lines at the teensy for the next circuit design and see how that works.
 
Last edited:
Sorry, again I am probably not much help here, other than ask questions and maybe throw a dart or two. And maybe it might help to localize down the issue.

Is this a new T4? Or have you had it for a while? Wondering which Voltage Regulator, it has on it? There was a recent thread about one of the newer VR not booting at lower voltage. I think it needed to be about 4v.

Which display are you using? How is it hooked up? More particular what are the power connections? Like is it connected to +5v or 3.3v? Reason asking is for example some displays like RA8875 can draw more current than the onboard 3.3v VR could handle, so when I played with them, I ordered them with their own VR on the board. Or on my own board, I might include separate VR for the display on other peripherals.

Wondering if there is something in the code that is triggering this? Something like, maybe some code overwrites some critical memory locations or the like. I would tend to do things like instrument the code with a bunch of either Serial.prints() and/or digitalWriteFast/digitalToggleFast in different portions of the code and hook up Logic Analyzer or the like to see if anything maybe helps point to if something went wrong in the program.

Again, I know not much help!

Good luck
 
Thanks. Your help is appreciated.
It's a newer t4 lockable.
Since lowring the cpu frequency it has yet to freeze.
 
Does the problem change if you remove the diode and connect the power with just a wire? Or maybe use a DC voltmeter to check the actual power supply voltage arriving at the VIN pin?

An issue was recently discovered where Teensy 4.0 would not power up with less than about 4.0 to 4.1, due to a component substitution on the 3.3V regulator and a 100K resistor on the regulator enable pin. Changing the resistor to 470K allows for startup down to as low as 3.2 volts. Starting with the next production batch which begins to arrive next week, all Teensy 4.0 will be made with the 470K resistor.

Of course, this is just a blind guess. The "freeze" you're seeing may be something completely different.
 
Back
Top