Teensy 4.1 Beta Test

Will there be pads for extra io’s on the back for surface mount connectors like in the 4.0?

No, not like 4.0 or 3.2, 3.5 or 3.6. The only bottom side pads on Teensy 4.1 are for adding QSPI memory chips. If you don't add those chips, you can get access to 7 signals on those pads. But they're not at a spacing for a J-lead header like the pads on other boards. Accessing those pads is difficult. They're really meant for adding SOIC8 or (maybe) DFN8 package memory chips.

The PCB is 6 layers, the same as Teensy 4.0, but it brings out 8 more signals for I/O pins, 7 more signals for QSPI, 14 extra signals to control the Ethernet PHY chip, and 1 to control the USB host power. That's 30 more wires escaping the BGA area. The PCB is completely filled with routing on all 4 non-plane layers, and even a few signals escape along the edges of the ground plane layer. It just wasn't possible to escape any more signals to the right hand side of the PCB. More may have been possible towards the left side, but that area was committed to USB host and Ethernet, and power input & bootloader, so I just couldn't put a set of pads on the bottom side and keep ethernet and usb host to using convenient & durable through-hole pads.

I did briefly consider a HDI PCB, like Arduino is using for Portenta H7. But that's much more expensive! Currently 6 layers and 5 mil spacing and through vias is the "sweet spot" for maximizing a PCB before the cost goes up dramatically.


@Paul, you can change the max upload size in php.ini

Messing with the website config is absolute last thing I would do at a time when we're about to release new hardware and wrap up a major software release! I'm not an "IT guy", and right now Robin & I are struggling to run PJRC without employees due to Oregon's covid-19 shelter in place order. I need to prioritize what we do.
 
Last edited:
@Paul - I finally have everything ready. I made sure that I used a fresh copy of Arduino 1.8.12 for installation of both TD's.

When using TD 1.52B1 stbasic40 uploads without a problem. The Teensy port /dev/ttyACM0 shows up and Arduino sees it:

Teensy4-Port-Available.jpg

And no program button press is needed each time stbasic40 is compiled and uploaded.

Using TD 1.52B3 will compile and upload but the RA8876 screen will remain inop. The backlite will not turn on. I have a belkin USB HUB with a power on LED and it will not lite up. Normally after the RA8876 is initialized the LED on pin 13 will go out but it remains on. When I check the port status int the tools menu of Ardino /dev/ttyACM0 is not there:
Teensy-Port-missing.jpg

Then when I try to recompile and upload again I get this error:
Teensy4-Port-Not-Found.jpg

I have to press the program button to get stbasic40 to upload but make no difference. The Teensy remains inop.
It seems to me that something is going wrong before or during reboot.
If I upload another sketch say blink.ino I have to press the program button again to get it to upload. After that I can compile and upload other sketches other than stbasic40 automatically.

The file consists of several libraries and all kinds other files like stbasic, kilo text editor and fm a file manager all menu driven through stbasic40.ino.

Here are the zipped .elf and .hex files you were asking for. One for TD 1.5.2B1 and one for TD 1.52B3.

I am mainly using stbasic40 for real time testing of my libraries.
 

Attachments

  • Stbasic40_Working-1.52.B1.zip
    1.5 MB · Views: 101
  • Stbasic40_Not_working-1.52B3.zip
    1.5 MB · Views: 68
Last edited:
@mjs513 - does this sound anything like the issues you had with 'display' - except you were doing 15s Restore at some point - but there was something changed in startup that affected your work - except it got better for you ???

@Paul - I finally have everything ready. I made sure that I used a fresh copy of Arduino 1.8.12 for installation of both TD's.

...
Using TD 1.52B3 will compile and upload but the RA8876 screen will remain inop. The backlite will not turn on. I have a belkin USB HUB with a power on LED and it will not lite up. Normally after the RA8876 is initialized the LED on pin 13 will go out but it remains on. When I check the port status int the tools menu of Ardino /dev/ttyACM0 is not there:
...
 
@mjs513 - does this sound anything like the issues you had with 'display' - except you were doing 15s Restore at some point - but there was something changed in startup that affected your work - except it got better for you ???

Actually to be honest it sounds very familiar but not don't think its a display issue. Always to seem to have the problem with the T4 even during beta testing. Typically it would appear to hang and I would have to hit the PGM button to upload again. If you I loaded BLINK after the faulting program (HINT) I could upload pretty any other sketch like BLINK again and again without hitting the button.

Think whats happening is that there is a memory access issue somewhere in the program I was using - was trying to load a sketch that went over a memory boundary (guess that's the right term), program would fault and I would have to hit the program button again. Had that problem with my OpenGL stuff until I started moving some stuff out of RAM1 using malloc or FLASHMEM for functions. Once I cleared some space it would work again. May need to add your debug_tt to get the error messages out.

This might be a related to post #9

This also sounds like the issue we were having with UncannyEyes as well if you remember.

No else seemed to having the same issue as I am/was having with some of my wacky sketches.

REF: Memory Layout: https://www.pjrc.com/store/teensy40.html
 
@Paul - Don't bother wasting time on my problem. I figured it out. I was using flexRAMInfo to monitor memory usage. It works with TD 1.52B1 but not TD 1.52B2 or TD 1.52B3. I eliminated those calls and both the T4.0 and T4.1 came back to life with stbasic40. Sorry to waste your time with this.
I am sure there is a fix for it and will be found:)

Warren
 
@wwatson - First RA8876 display just arrived here and not yet connected - but @mjs513 pointed out it needs an external 5V power source for this 7" display. The manual indicates the 5V needs 600 mA for the 7". ( ~900mA for 3.3V )
Where is power from? Any chance it is failing for lack of power where small startup change made the diff?

<crosspost> paying more attention to TV than refresh to finish a post.
 
@Paul - Don't bother wasting time on my problem. I figured it out. I was using flexRAMInfo to monitor memory usage. It works with TD 1.52B1 but not TD 1.52B2 or TD 1.52B3. I eliminated those calls and both the T4.0 and T4.1 came back to life with stbasic40. Sorry to waste your time with this.
I am sure there is a fix for it and will be found:)

Warren
Ok - did you download the latest version of @Frank B's T4_PowerButton. Had that problem when first got a T4.1 where it would cause the sketch to hang like you described. Isolated down to same function and Frank put a fix in for his library.

Try downloading the latest version and give your sketch a go again.

Mike
 
Ok - did you download the latest version of @Frank B's T4_PowerButton. Had that problem when first got a T4.1 where it would cause the sketch to hang like you described. Isolated down to same function and Frank put a fix in for his library.

Try downloading the latest version and give your sketch a go again.

Mike

Thanks Mike I will give it a try. Lot's to do. My plate is getting full as well and it take me a lot longer to deal with these things than you programing wizards. Stbasic is secondary to Ra8876Lite and MSC3. I would really like to play with TeensyTransfer adding USB host to it. Sooner or later I will have time. I just broke my SDHC card in half trying to plug the T4.1 board into the breadboard after removing the T4.0. SIgh, time to make dinner and take a break:)
 
Thanks Mike I will give it a try. Lot's to do. My plate is getting full as well and it take me a lot longer to deal with these things than you programing wizards. Stbasic is secondary to Ra8876Lite and MSC3. I would really like to play with TeensyTransfer adding USB host to it. Sooner or later I will have time. I just broke my SDHC card in half trying to plug the T4.1 board into the breadboard after removing the T4.0. SIgh, time to make dinner and take a break:)

Was actually looking at TeensyTransfer and MTP to see if it could be adapted for use with SPIFFs but couldn't get MTP working with the SD card on the T4.1. Did do a post to WMXZ about the problem. I did get MSC working with SPIFFs to transfer files to attached SD Card.
 
Ok - did you download the latest version of @Frank B's T4_PowerButton. Had that problem when first got a T4.1 where it would cause the sketch to hang like you described. Isolated down to same function and Frank put a fix in for his library.

Try downloading the latest version and give your sketch a go again.

Mike

Something came up days back and I was to have pared down a 'Fault Blink' for inclusion I started (4/15) … okay weeks back - but time has been flying by with tasks …
 
@wwatson - First RA8876 display just arrived here and not yet connected - but @mjs513 pointed out it needs an external 5V power source for this 7" display. The manual indicates the 5V needs 600 mA for the 7". ( ~900mA for 3.3V )
Where is power from? Any chance it is failing for lack of power where small startup change made the diff?

<crosspost> paying more attention to TV than refresh to finish a post.

I think this is exactly what killed my first display. I ordered another one later on and have been using a 2 amp five volt supply since then. It has not failed for a year or more. Originally I was powering from the T3.6 USB 5V supply (500ma). This allows me to play with other devices that need the power. I have also used a powered USB HUB as well. You said you have your display now. Do you mean your display is not working or have not set it up yet?

Edit: I used the first display for about 8 months before it failed.
 
I think this is exactly what killed my first display. I ordered another one later on and have been using a 2 amp five volt supply since then. It has not failed for a year or more. Originally I was powering from the T3.6 USB 5V supply (500ma). This allows me to play with other devices that need the power. I have also used a powered USB HUB as well. You said you have your display now. Do you mean your display is not working or have not set it up yet?
...

I have a NIB/fresh from china/BuyDisplay 7" I am pondering how to connect to:: 5x28 pin proto board I could use to wire from RA8876 to standard layout of PJRC PurpleTestBoard (newer PCB with 9431 touch)/ILI9431 SPI, ignoring the CAP touch for now. Just need to figure out external power - the PJRC board has spots to add 5V Supply - not sure if I ever ordered a full set of parts - or where they might be now.

And @MorganS just posted OSH link to a PCB that looks good - except seems it relies on USB 5V for all power.
 
Looks like keyboard emulation isn't there yet. Here's the example from https://www.pjrc.com/teensy/td_keyboard.html

Code:
#include "Keyboard.h"


int count = 0;
void setup() { } // no setup needed
void loop() {
  Keyboard.print("Hello World "); 
  Keyboard.println(count);
  count = count + 1;
  delay(5000);
}

Here are the compiler errors.

Code:
Arduino: 1.8.12 (Linux), TD: 1.52-beta3, Board: "Teensy 4.1, Serial + Keyboard + Mouse + Joystick, 600 MHz, Faster, US English"


/home/corbett/arduino-1.8.12/arduino-builder -dump-prefs -logger=machine -hardware /home/corbett/arduino-1.8.12/hardware -hardware /home/corbett/.arduino15/packages -tools /home/corbett/arduino-1.8.12/tools-builder -tools /home/corbett/arduino-1.8.12/hardware/tools/avr -tools /home/corbett/.arduino15/packages -built-in-libraries /home/corbett/arduino-1.8.12/libraries -libraries /home/corbett/Arduino/libraries -fqbn=teensy:avr:teensy41:usb=serialhid,speed=600,opt=o2std,keys=en-us -ide-version=10812 -build-path /tmp/arduino_build_307300 -warnings=all -build-cache /tmp/arduino_cache_631216 -verbose /home/corbett/t41/keyboard/keyboard.ino
/home/corbett/arduino-1.8.12/arduino-builder -compile -logger=machine -hardware /home/corbett/arduino-1.8.12/hardware -hardware /home/corbett/.arduino15/packages -tools /home/corbett/arduino-1.8.12/tools-builder -tools /home/corbett/arduino-1.8.12/hardware/tools/avr -tools /home/corbett/.arduino15/packages -built-in-libraries /home/corbett/arduino-1.8.12/libraries -libraries /home/corbett/Arduino/libraries -fqbn=teensy:avr:teensy41:usb=serialhid,speed=600,opt=o2std,keys=en-us -ide-version=10812 -build-path /tmp/arduino_build_307300 -warnings=all -build-cache /tmp/arduino_cache_631216 -verbose /home/corbett/t41/keyboard/keyboard.ino
Using board 'teensy41' from platform in folder: /home/corbett/arduino-1.8.12/hardware/teensy/avr
Using core 'teensy4' from platform in folder: /home/corbett/arduino-1.8.12/hardware/teensy/avr
Warning: Board microduino:avr:mddevice doesn't define a 'build.board' preference. Auto-set to: AVR_MDDEVICE
Detecting libraries used...
/home/corbett/arduino-1.8.12/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL_HID -DLAYOUT_US_ENGLISH -I/home/corbett/arduino-1.8.12/hardware/teensy/avr/cores/teensy4 /tmp/arduino_build_307300/sketch/keyboard.ino.cpp -o /dev/null
Alternatives for Keyboard.h: [Keyboard@1.0.2]
ResolveLibrary(Keyboard.h)
  -> candidates: [Keyboard@1.0.2]
/home/corbett/arduino-1.8.12/hardware/teensy/../tools/arm/bin/arm-none-eabi-g++ -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY41 -DF_CPU=600000000 -DUSB_SERIAL_HID -DLAYOUT_US_ENGLISH -I/home/corbett/arduino-1.8.12/hardware/teensy/avr/cores/teensy4 -I/home/corbett/arduino-1.8.12/libraries/Keyboard/src /tmp/arduino_build_307300/sketch/keyboard.ino.cpp -o /dev/null
Alternatives for HID.h: []
In file included from /home/corbett/t41/keyboard/keyboard.ino:1:0:
ResolveLibrary(HID.h)
  -> candidates: []
/home/corbett/arduino-1.8.12/libraries/Keyboard/src/Keyboard.h:25:17: fatal error: HID.h: No such file or directory
compilation terminated.
Using library Keyboard at version 1.0.2 in folder: /home/corbett/arduino-1.8.12/libraries/Keyboard 
Error compiling for board Teensy 4.1.
 
Not a huge deal at all, but any way of getting CAN on pins 3/4 for compatibility with the CAN0 pins on the T3.5/3.6?
 
I have a NIB/fresh from china/BuyDisplay 7" I am pondering how to connect to:: 5x28 pin proto board I could use to wire from RA8876 to standard layout of PJRC PurpleTestBoard (newer PCB with 9431 touch)/ILI9431 SPI, ignoring the CAP touch for now. Just need to figure out external power - the PJRC board has spots to add 5V Supply - not sure if I ever ordered a full set of parts - or where they might be now.

And @MorganS just posted OSH link to a PCB that looks good - except seems it relies on USB 5V for all power.

@wwatson and @defragster
I have been using a Portable Charger Power Bank 25800mA with a Modified USB cable with 2 pins that connect to the 5v and gnd pins of the RA8876. Has been working real one - just make sure the display has power before booting the T4 :) otherwise it wont get initialized :)
 
No, not like 4.0 or 3.2, 3.5 or 3.6. The only bottom side pads on Teensy 4.1 are for adding QSPI memory chips. If you don't add those chips, you can get access to 7 signals on those pads. But they're not at a spacing for a J-lead header like the pads on other boards. Accessing those pads is difficult. They're really meant for adding SOIC8 or (maybe) DFN8 package memory chips.
@DaQue @Paul - I was thinking of maybe trying one of the smaller J type connectors to see if they might work.
Maybe something like: https://www.digikey.com/product-detail/en/amphenol-icc-fci/20021121-00008C4LF/609-3694-1-ND/2209146

I am pretty sure it would fit with the 208 sizing not sure with the 150 one.

Note: Using one of these could get you six of the seven signals, both would gain you one signal (the CS pin.

And/Or - doing a quick and dirty castellated daughter board and pick up the 7 signals. If so could extend them out to be breadboard compatible. Add 4 more pins... Could optionally extend to the 5 pin area, and maybe extend 4 rows to breadboard and also pick up, ON/OFF, Program, VBat

I started hacking on a Diptrace layout for this, but have not finished yet.
 
The Generate_Password example doesn't compile for the T4.1 beta doesn't compile.

Do we have a list of examples and libraries that have been tried?

The Teensy 4 has a hardware RNG, but it's slow compared to T3.5/3.6 TRNG. The Entropy lib is based on dueling clocks, separate crystals or crystal and internal RC oscillator, but T4 doesn't have independent clock sources (beside MCU crystal and RTC crystal). here are Paul's thoughts about adding TRNG to Entropy lib from t4 beta test thread
https://forum.pjrc.com/threads/54711-Teensy-4-0-First-Beta-Test?p=193977&viewfull=1#post193977
and some T4 TRNG tests
https://forum.pjrc.com/threads/54711-Teensy-4-0-First-Beta-Test?p=195000&viewfull=1#post195000
 
Last edited:
I have a NIB/fresh from china/BuyDisplay 7" I am pondering how to connect to:: 5x28 pin proto board I could use to wire from RA8876 to standard layout of PJRC PurpleTestBoard (newer PCB with 9431 touch)/ILI9431 SPI, ignoring the CAP touch for now. Just need to figure out external power - the PJRC board has spots to add 5V Supply - not sure if I ever ordered a full set of parts - or where they might be now.

And @MorganS just posted OSH link to a PCB that looks good - except seems it relies on USB 5V for all power.

Ok just finished a new T4.1 breakout board to test a few of the different displays. Getting ready to order them and then debug. Here is a screen shot. Unfortunately the RA8875/76 is setup for capacitive touch - sorry @wwatson.

Capture.PNG

Yes added pins for a Sparkfun QWIIC adapter board. Not sure if I need anything else just for Testing displays.
 
Hello Paul,

USB connections on Teensy4 goes directly to rt1062 USB pins. Whouldn't it be a good idea to incorporate an ESD protection components in between ?
Another question about Teensy4, the OSHPark Ethernet PHY is directly soldable on Teensy4 and the new Teensy4.1 ?

Thanks in advance.
 
Whouldn't it be a good idea to incorporate an ESD protection components in between ?

We do have ESD protection on the host port, thanks to the TPD3S014 chip.

On the device port, my general feeling is this is overkill. The connector is designed so the grounded shell mates long before any of the pins, and the power pins mate before the signal pins. An ESD event hitting those data signals seems pretty unlikely.

Then again, the device signals do route to bottom side pads or test points on most Teensy boards. So maybe ESD diodes would help there? Difficult to know. But for now, no Teensy has this.


Another question about Teensy4, the OSHPark Ethernet PHY is directly soldable on Teensy4 and the new Teensy4.1 ?

The intended connection is a ribbon cable. I put the part numbers for connectors and wire on the list. Click the description button on the OSH Park page to see all the info.

That PCB isn't intended to be soldered directly.
 
@Paul - Don't bother wasting time on my problem. I figured it out.

No worries. I worked first on the audio ADC and RTC autoset daylight saving time bug first, then came back to this today as one of the last unknown issues of this thread.

I'm going to package up 1.52-beta4 now....
 
Back
Top