T3.2 power up issues

Status
Not open for further replies.

kallikak

Active member
Hi,

I think I've got a situation where the external power into my Teensy 3.2 is marginal at startup. Let me explain the context and I'd be glad to hear any suggestions for things I can do in code to make it more tolerant, or if the issue may arise from something else?

I made a little Eurorack module (see this thread https://forum.pjrc.com/threads/6782...e-to-show-and-a-question-about-Teensy-3-2-DAC) and it is sometimes not starting up in the rack.

Here's what I see:

  • Startup is 100% reliable when powered by USB.
  • Startup is 50% (more or less) when powered by a Eurorack cable (12V to 78L05 regulator to Vin with the usual capacitors)
  • I measure 5V and 3.3V on the appropriate pins even when it is not working.
  • The intermittent startup behaviour occurs even with the Blink sketch.
  • Startup is 100% reliable when unplugging and replugging the connector after the rack has been turned on.
  • Startup is 100% reliable on another (much less populated) rack.
  • The modules (as specified) are not close to the current limits the rack should be able to provide (It is a TipTop Mantis with a 3A power brick).
  • The same behaviour happens if overclocking to 120MHz or running at 72MHz.

Now the device uses an Adafruit LED Array with i2c backpack (bought from Mouser, not Aliexpress), and I expect the initialisation of this is the problem (combined with other modules startup power demands).

I have tried adjusting the TEENSY_INIT_USB_DELAY_BEFORE/TEENSY_INIT_USB_DELAY_AFTER delays to make the device effectively startup a bit later, but to no avail. Is there a better way to do this?

The USB is only used when programming or testing on a laptop, so I do compile with USB+MIDI+Audio. Should I just set USB Type to No USB to minimise startup power demands?

Now I will try and rearrange the power connections on my rack since there are 3 separate zones, but that requires a lot of unscrewing of modules so I won't do it until after I've considered alternatives. At the moment there is enough space for me to reach in and reconnect when I need to.

Maybe I should just add a manual on/off switch to the panel? But that's less than ideal.

Thanks in advance for any suggestions.
 
No one has any suggestions for how this might be manageable via software on powerup?

My thinking now is a supervisor chip like a MIC803 connected to the reset pad is the best option - just a bit of a nuisance connection on the T3.2

Edit: Looks like putting a short delay (an empty loop) in startup_early_hook() fixes the problem.
 
Last edited:
Cool a 'solution' was found.

Not seen this be a typical problem with T_3.2 ... something semi unique about the power demands on startup as configured it seems.

It is typical i2c devices can be addressed to quickly with fast startup of Teensy. That is often fixed with a short delay in setup() before doing i2c.begin(). Not sure if that would help here - but slowdown in _hook() does the same - allowing that device perhaps to power up to ready before hit by Teensy.
 
Status
Not open for further replies.
Back
Top