Teensy 4.0 will not boot properly with Adafruit OLED attached

bornhorst

New member
I am having trouble with my new Teensy 4.0.
Here is my setup:
  • I have the Teensy soldered to the Adafruit teensy feather adapter. This one
  • I have the Adafruit 128x64 OLED feather wing stacked on top. This one
  • These components were purchased last week from Adafruit.
Here are the behaviors I have observed:
  • With the OLED connected the Teensy will only boot when freshly programmed or restarted via the Teensy Loader app.
    • It will NOT boot in this config when by an external usb "wall brick".
    • instead of booting the red bootloader light remains dimly lit.
    • When auto is selected in the teensy loader it will automatically reprogram when the OLED connected, without the OLED connected the teensy boots without triggering a reprogram.
  • It will boot normally every time without the OLED connected.
I am running the simple blink example sketch.
C++:
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, HIGH);   // set the LED on
  delay(1000);                  // wait for a second
  digitalWrite(ledPin, LOW);    // set the LED off
  delay(1000);                  // wait for a second
}

Can someone help me diagnose what is going on here?

I feel like it might have something to do with the issue that is discussed in this thread.
https://forum.pjrc.com/index.php?threads/teensy-4-0-doesnt-power-on-with-less-than-4-10v.70636/

Thank you in advance!!
 
  • It will boot normally every time without the OLED connected.
I wouldn't be surprised if the inrush current of the 3V3-to-12V boost converter [FAN53315] used on the Adafruit OLED board [see schematic] is too much load for the Teensy 3V3 regulator to power up the Teensy correctly.
For testing purposes: is there a way for you to power the Adafruit OLED board by a separate 3V3 power supply?

Paul
 
Sorry, I have one of those feather adapters around here somewhere. But Some of the stuff I am not sure about is how compatible is the feather adapter to the Teensy 4.x? Probably most of it is fine, but wonder about the pins at the side opposite of the USB connector. In particular on the T3.2 one pin is the DAC but on the T4 it is the on/off
 
instead of booting the red bootloader light remains dimly lit.

Maybe something unexpected is happening with the Program pin?

Looks like *something* connects to that pin on Adafruit's adapter board. Can anyone with Eagle CAD open the schematic and post a PDF copy?

1702070748971.png
 
Or if you have some idea of which signal might be connected to that pin, can you arrange to have it not connect? The idea is to prevent the Program pin from accidentally being pulled low, which puts Teensy into programming mode where the red LED would remain on.
 
Maybe something unexpected is happening with the Program pin?

Looks like *something* connects to that pin on Adafruit's adapter board. Can anyone with Eagle CAD open the schematic and post a PDF copy?

View attachment 32576
Here is the PCB layout:
1702071772257.png


And the schematic is attached. The Program pin goes to a pad next to pin 16 [bottom-left].

Paul
 

Attachments

  • Adafruit Feather Teensy3 Adapter.pdf
    42.6 KB · Views: 24
Thanks for the Eagle work!

Looks like Adafruit meant for the Program pin to be able to disconnect by cutting these pads apart.

1702072821983.png


Unless there's some specific need for the other connected boards to be able to put Teensy into programming mode, I'd recommend cutting these pads apart so activity from the other boards can't accidentally put Teensy into programming mode.
 
Ok, so I just hooked the display up to a separate power supply and everything worked correctly. The program pin was not connected for this test.

I checked continuity from the T4 program pin to every pin on the feather breakout, and the only feather pin connected is RST. Which looks correct according the schematic below.

I suppose the next test is to either cut the connection to the program pin, or setup the test with the separate power supplies with the program pin also connected.

Also, I noticed that with the OLED stacked on the T4 sometimes the red light stays dimly lit, and other times it will will blink on and off at a rate of one second on and one second off.

Thank you all for your input!

Screenshot 2023-12-08 155039.png
 
So I disconnected the program pin by cutting the pads on the PCB and everything works correctly.

Thank you all for your help!
It is greatly appreciated!
 
Just to confirm, did cutting those pads apart make it work without requiring the extra power source?

Or asking another way... now that Teensy 3.2 is discontinued and people will only use this adapter for Teensy 4.0, should we ask Adafruit to update their web page to recommend everyone using Teensy 4.0 cut those pads apart? And perhaps in future versions have those pads be separated by rather than joined by default?
 
Just to confirm, did cutting those pads apart make it work without requiring the extra power source?
Confirmed. After cutting the trace the OLED and Teensy work as expected when powered through the T4.0 USB connector.

I have two Teensy4's that are soldered to feather adapters. I have cut the programming pin trace on one of the two boards. The other was left unmodified. I have tried both the modified and unmodified boards with the ethernet wing, midi wing, and non-latching relay wing. In each of those cases the modified and unmodified boards behaved identically correct. The only time I observed a difference was when using the OLED wing. The uncut board will not boot with the OLED attached while the teensy board with the cut trace does boot as expected.

Here is the OLED feather wing schematic
 
Last edited:
The only time I observed a difference was when using the OLED wing. The uncut board will not boot with the OLED attached while the teensy board with the cut trace does boot as expected.
Well, I'm glad to hear it's working by just cutting the pad on the Feather Teensy adapter. But I don't understand it though. There is nothing connected to pin 16 on the OLED board. Pin 16 is bottom-right on the image below.

1702102939816.png


Perhaps @PaulStoffregen knows: can the Program pin on the Teensy become susceptible to noise when just a open-ended PCB trace is connected to the Program pin and accidentally start a program action? I assume the Program pin is pulled up to 3V3 by the Teensy bootloader chip.

Paul
 
Look at the layout of the pins rather than the numbers... it appears pin 1 on the OLED board (labelled RESET#) connects to pin 16 (PGM) on the feather board.
 
Argh...you're right. Thanks.
But even then, no active electronics connected to that RESET# pin as far as I can tell.

Paul

1702104717502.png
 
It's connected to the APX803 (voltage monitor).
The problem is probably that adafruit intended it to reset the controller, but that's not what the Teensy's PGM signal does.
 
O, you're right again. It's difficult to see, and the schematic shows an open, but that pad is actually connected on the PCB.
Yeah, that would explain the issue.

Paul

1702106852309.png
 
I sent a request to Adafruit asking them to mention cutting those pads apart if using Teensy 4.0 and the 128x64 OLED Feather.
 
Back
Top