Future Teensy features & pinout

The T4 MM would go into my custom hardware. I want to be able to position the USB host and device connectors and uSD connector wherever I want, and use whichever connector style I want. That can be done now of course, but would require little USB jumper cables and so on to achieve it. Fine for prototypes, and not the end of the world for production, so I suppose I shouldn't obsess over it too much.

This is very similar to what I need for a high volume product I'm working on. I've been looking at having to spin my own Teensy board because I need:
- the USB programming interface broken out to a custom carrier board so I can have the USB on the enclosure.
- an SDRAM chip.

I expect to have very large amounts of data. The 8MB flash for the Teensy is plenty, but because all program and data gets copied into FlexRAM, you quickly get limited there. I need access to data much faster than external flash, but I don't need it so fast it has to be in TCM. So I need a proper SDRAM chip so I can copy static data from flash, to external SDRAM and keep the TCM available for program code and stack.
 
This is very similar to what I need for a high volume product I'm working on. I've been looking at having to spin my own Teensy board because I need:
- the USB programming interface broken out to a custom carrier board so I can have the USB on the enclosure.
- an SDRAM chip.

I expect to have very large amounts of data. The 8MB flash for the Teensy is plenty, but because all program and data gets copied into FlexRAM, you quickly get limited there. I need access to data much faster than external flash, but I don't need it so fast it has to be in TCM. So I need a proper SDRAM chip so I can copy static data from flash, to external SDRAM and keep the TCM available for program code and stack.

It sounds like you're making a Daisy-style board... very intriguing.
 
Ideal world we would have 3 layouts of each teensy:
1. Current Teensy breakout for solderless breadboarding
2. MM for compact product integrations
3. DDR2 SODIMM (i.e. Raspberry Pi Compute Module 3) for product integrations with additional pinouts.

Talking ideal world - at least the MM and SODIMM versions would be designed to a -40/+80 temperature range. Does it make commercial sense for PJRC? Probably not, but I can dream.
 
In an ideal world( which does not exist) we would have access to _all_ pads without high-density connections.
Yes...inpossible..
 
I'm catching up on this thread. I'm not sure if the below items have been covered before, but here's what I have:

1. What are the limitations on to the number of hardware I\O channels that can exist? I have applications coming up requiring integration of as many sensors and radios as possible. Some of them are I2C, which limits numbers based on addresses and hardware channels. Others are SPI, which limits numbers based on pin availability. I'm presently ginning up PCBs to make the peripheral components utilize all the I2C and SPI channels any way they can, but more channels are always welcome.
2. Can more alternate hardware I\O pin assignment options be added? (Specifically if they can be assigned to the SD card pins...see below.)
2.1 Would it be possible to add some circuitry to allow for 'pin mirroring'. ie Some pins that aren't dedicated hardware I\O pins can be configured to mirror ones that are such that peripherals can be made to fit neatly. Also, same basic issue when the VCC and GND don't line up: can we have some pins be able to source\sink extra current when they are 'dummied' out to support a peripheral's pin configuration?
3. The T40 has solder pins on the bottom side, the T41 has them exposed as pins. As I understand it, the Teensy does not fully utilize the NXP chip. Can there be more underside solder pins on the T41 exposed? What are the limitations of the NXP chip in this respect?
4. Can there be support for additional power output...maybe with an addon module? My present design has a large number of output ports, and I'm going to hit power constraints if I try to expand further. Specifically I need to drive 3v stepper motors and IR LEDs on nearly all the available Teensy pins as well as drive radios. I can use external BS to make up for this, but it would be great if the Teensy could make it easier.
5. My application is thirsty for more FLEXPWM pins and more timers. Is this possible?
6. Expose I2C channels in the SD cart port. With a custom PCB, you can break out SP2 on a T41 and along with three control pins. I use this to interface with an nRF24L01 attached as an plug-in mimicing a microSD card. It would be great if I could use the SD port to add I2C peripherals as well. Also, per above, if alternate I\O pins can be exposed, the SD port pins are a great choice. Libraries that use only default hardware I\O channels can be easily handled by attaching the peripheral via an SD breakout and resetting the pins.
7. SPI slave mode. If I'm up to date, it's possible but not present. It would be nice to be able to interface Teensy's this way. As I said above, I'm pin hungry, so if I can't get more pins on one unit, I need to integrate multiple.
8. USB file system. I think this one is a known member of the TODO list: I'd like to save data to the onboard microSD card and have that card be readable by the OS.
9. More available timers for IntervalTimer. T41 supports 4. How many can there be?
 
@kdharbert - I ca not tell from your comments here are you talking about the T4 and T4.1 or the future 1170 stuff.
For some of the capabilities of 1170, you might want to look at their now available eval board: https://www.digikey.com/en/products...6153?s=N4IgTCBcDaIJYFsAeAnALgAgIxYOwAYQBdAXyA
I know a few members here have them. So far I have resisted (although tempted) as I already have plenty of diversions. But that product page has link to family high level specs, like 6SPI and 6I2c...

For 1060 type stuff maybe a different/new thread?

2. You can with T4 and T4.1 use the SDCard pins for other things. It is easier on T4, but I also have played with them on T4.1 using SDCard adapter... I played with one on T3.5/6, which had labels for it... I have since played with an update for T4.1, but have not ordered any...
screenshot.jpg
3. T4.1 has some other exposed pads on bottom, that is setup in patterns for memory chips. The startup code does try to see if it has memory or not. I have proposed a couple ways to bypass this if necessary, but if you are not using external memory (either RAM/ROM), these pads can be used for something else, like SPI2... The new T4.1 page/card has more info on these pins: https://www.pjrc.com/store/teensy41.html

4. Additional power. Most of my boards, that I do for my own fun have their own power supplies on board, like an external Voltage Regulator or DC/DC converter.

5. FlexPWM and Timers. There are lots of timers and the like. If you have not already done so, you might look at Teensy Timer tool? https://github.com/luni64/TeensyTimerTool
Again best to look at Reference Manual and see which ones are not there. Again custom boards could probably get them...

6. SD Card port pins are setup to be used...

7. SPI Slave - SPI library does not do this, I believe there are some who have played with this

8. USB file system. Sort of confused on this one. You already can save stuff to SDCard and have the data be readable by a PC. You can setup your card to be Fat16, Fat32, ExFat, using the SD, SDFat libraries.
USB file system? There is WIP with some of us with the MSC (Mass Storage Controller) that has been driven by the user @wwatson to allow us to plug in a USB drive, like a memory stick. More in other threads. Also there is work going on to allow us to Show storage over our USB connection to the PC, using the Media Transfer Protocol (MTP). A lot of this work has been done by @WMXZ. There are a few other threads out there where some of us are working on integration all of this and hopefully get more of it into future builds. One such thread is: https://forum.pjrc.com/threads/6633...-LittleFS-UsbMSCFat-to-work-with-each-other-8)
Which points you to the main MTP and MSC threads.

9. As I mentioned look at the Teensy Timer Library...
 
@Kurte
Thanks as always. I see now that the T41 pinout card is not the same as the website;) I2C1 pins in the SD slot is very good news! ...as is the info on the extra pads!

I need more information regarding the timer library you instructed me to look at. The website says there can only be 4 interval timers running at once. Is this a software limitation? If there's any way I can get more IntervalTimers running on my T41, I'm listening...

My usage of IntervalTimer and the FlexPWM features are independent. My FlexPWM stuff doesn't use libraries and requires 100% understanding of the hardware...my usage of IntervalTimer does not. I just want more of both such that they still operate independently.
 
I remember when I worked briefly at Lealtex, one of the Sony Playstations that the compiler intended had two turned off like this, with one core being the robust processor and the other being the previous processor that was used in previous Playstations. If you ran a previous game, it would use the previous processor, otherwise it would be mostly idle.
 
@Kurte
Thanks as always. I see now that the T41 pinout card is not the same as the website;) I2C1 pins in the SD slot is very good news! ...as is the info on the extra pads!

I need more information regarding the timer library you instructed me to look at. The website says there can only be 4 interval timers running at once. Is this a software limitation? If there's any way I can get more IntervalTimers running on my T41, I'm listening...

My usage of IntervalTimer and the FlexPWM features are independent. My FlexPWM stuff doesn't use libraries and requires 100% understanding of the hardware...my usage of IntervalTimer does not. I just want more of both such that they still operate independently.
There are only 4 Interval timers... Which I believe are the 4 PIT timers... But again there are several others including software driven ones. So question is, do any of these other timers do what you need...

There is also QuadTimers...

So again you may want to look at the different modules.
 
I see now that the T41 pinout card is not the same as the website;)

In the 10 months since Teensy 4.1 was released, we've printed 3 different versions of its pinout documentation card. The first 2 had basically a blank back side. While less than ideal, leaving the back side blank was one of many trade-offs PJRC was forced to make due to operating with a labor shortage from Covid19 social distancing requirements.

Likewise, the pinout cards for every Teensy model have been revised from time to time. Usually the changes are relatively minor. If you have a card that came with any Teensy within its first year and compare to the files on the website, you'll probably find small differences.

Teensy 4.1 is the only card that's ever had a really major change.
 
kdharbert said:
If there's any way I can get more IntervalTimers running on my T41, I'm listening...

As Kurt mentioned, you can use the TeensyTimerTool if you need to access more timers with a high level interface. For the T4 you can use it with

2x GPT 32bit
16x TMR 16bit
4x PIT 32bit
20x TCK 32bit (Software)
20x TCK64 64bit (Software)

They all share the same interface (which is very similar to the Intervaltimer interface). Thus, you can easily switch between them at construction time without affecting the rest of your code. Of course, the hardware timers might (and will) be used by other libraries and the core as well. So, make sure to avoid clashes. But this is of course true for all hardware resources.

There is a dedicated thread about the lib which might fit better in case you have additional questions.
 
I really like the connectors of the Arduino Portenta. Having regular pin headers on the side and 80 pin high-density connectors on the bottom of the pcb. I really wish the new Teensy adapts this format as I want to see a teensy with more IO. Having a super fast dual core teensy will allow for much bigger projects.

Bildschirmfoto 2021-03-12 um 14.03.46.png
 
I really like the connectors of the Arduino Portenta. Having regular pin headers on the side and 80 pin high-density connectors on the bottom of the pcb...
I mentioned this previously and agree it would be an optimal solution for users who have requested high-density IO buses to be brought out. It's the same solution reached by Arduino Portenta, pyboard, Rasp Pi compute module, many others.

IMO there is a large segment of Teensy customers using it as a screaming fast Arduino Mini, for whom 20-40 pins on 2.54mm/0.1" centers is perfectly adequate. This enables breadboards, pin headers, and/or flying wires. Then there are the users like me who are willing to design a baseboard to bring out high density IO. Including these high-density connectors on the bottom not only brings out IO pins, it makes pluggable mounting to a baseboard much easier than it is now, with the mix of 2.54 & 1.27mm (ethernet) pin centers on the Teensy 4.1.
 
The problem I see, is then there are those like me who is in the middle, who want lots of pins and the like, who no way could solder the matching connectors on their own boards..

I know at one point Paul was not overly positive about connectors like the ones used on the now retired Intel Edison...
So in order to use those extra pins requires someone to make a bigger breakout board that then brought out all of those pins (again what people did for Edison), which then we would then need another board that one plugs into that we would do our actual stuff on... Or do you see again using Edison as an example, people bringing out boards with matching connectors on the bottom, so you might have a display insert board, which then you can plug in the next board and go many levels deep?
 
Or do you see again using Edison as an example, people bringing out boards with matching connectors on the bottom, so you might have a display insert board, which then you can plug in the next board and go many levels deep?

This is exactly the problem with the high density connectors. For development boards that use them, the breakout boards are few, and they tend to be expensive. And, like you said, you end up using a breakout baseboard to attach other breakout boards to.
Even with the Arduino Uno/Mega form factors the breakout boards don't create a stackable system in most cases, and the ones that do tend to be pricey due the the significant extra cost of the pass-through headers.
 
This is exactly the problem with the high density connectors. For development boards that use them, the breakout boards are few, and they tend to be expensive.
As always, it depends on your definition of 'expensive'. Arduino just released a $46 breakout board for the Portenta here : https://store.arduino.cc/usa/portenta-breakout
In addition to two 80 pin high-density connectors with signals brought out 0.1" center edge holes it also has:
- FPC connector for a machine vision camera
- Ethernet magjack
- SD card receptacle
- USB-A receptacle
- 20 pin JTAG header
- Power terminal block
- Boot mode switch
- Power button
If you removed all of that stuff and just broke out the pins from two 80 pin headers to 0.1" edge holes it would reduce the cost considerably.

It would be simple enough for Paul to release a board that is routed to accept high-density connectors on its bottom side, and offer it with or without connectors installed. That prevents people who are not interested in the additional functionality from paying for it.

If the connectors are available on the new Teensy I'm sure someone will make one or more baseboards, as has already been done for the Teensy 4.1. For example, the terrific CNC breakout by Phil Barrett here: https://www.tindie.com/products/philba/grblhal-breakout-board-unkit-for-teensy-41/
If there was enough interest I would create a breakout for the new Teensy myself, but I don't think I'll have to :)
 
High density connectors also have the problem that they don't live long, if you use them repeatedly. And you HAVE to use another board.
No, please not.
Then, to maintain maximum flexibility, there should be minimum additional hardware. It is OK for USB an ethernet, where the additional chips make sense. But only there.
And I don't want to make a PCB every time, what would be needed because of the high density connectors, for each use case (which can change on a almost daily basis).
Teensy has to be flexible, easy to use.
That's more important than the size.

I.e. i don't have plans to do much with the Teensy MM. The connector is too much restriction (and it has less I/O, too).

The Teensy size was great, and important when there were other boards with almost the same hardware.
Today, there are no other boards.
Teensy 4 / 4.1 is small and very fast.
Teensy 1176 does not have to be small - it will be incredible fast. For marketing, that's enough. Size plays no role. If small size is needed - well, the 4.0+ 4.1 will be still available.
 
On the subject of high-density connectors...


I really like the connectors of the Arduino Portenta.

I mentioned this previously and agree it would be an optimal solution for users who have requested high-density IO buses to be brought out.

For everyone who likes Arduino Portenta's high density connectors, I would like to ask you very specifically which other boards have you plugged your Portenta into so far? I especially want to hear about any experiences with custom made or non-Arduino boards which mate with Portenta's high density connectors.


It's the same solution reached by Arduino Portenta, pyboard, Rasp Pi compute module, many others.

While I don't want to nitpick minor differences, I do feel that high density connectors are not at all the same design as a card edge which mates with a SIMM or DIMM socket. Mating with a M.2 socket (eg, Sparkfun MicroMod) is probably pretty similar to a card edge for a DIMM socket.


Then there are the users like me who are willing to design a baseboard to bring out high density IO.

Have you designed any base boards for other products using the high density connectors.


it makes pluggable mounting to a baseboard much easier than it is now, with the mix of 2.54 & 1.27mm (ethernet) pin centers on the Teensy 4.1.

Having plugged Portenta into Arduino's first base board (the one with ethernet that's about the same size as Portenta), I do agree, it is a pretty nice experience. Or at least it is with Arduino's official products... and for the retail prices they're asking, you'd expect it to be a premium experience!

So far I'm not seen any 3rd party base boards for Portenta. Do any exist yet? Are any being commercially manufactured by 3rd parties? I'm particularly curious about the practical aspects of meeting the part placement tolerance for 2 high density connectors spaced relatively far apart for the boards to easily mate.


I know at one point Paul was not overly positive about connectors like the ones used on the now retired Intel Edison...

My opinion is really just an echo of the people I know who actually used Edison.

Back when Edison was on the market, I talked with many people about it. Lots of people who liked the concept of Edison but hasn't actually put it to any substantial use loved the high density connector idea. Pretty much everyone I talked with who actually did use Edison hated the reality of the high density connector.


This is exactly the problem with the high density connectors. For development boards that use them, the breakout boards are few, and they tend to be expensive.

High cost is indeed my main concern. Arduino can sell a $100 board and $50-80 accessories. PJRC can't. Or maybe we could, but it's a risk I don't wish to explore. And whether Arduino really can make $100 pricing work long-term in this market filled with agressively priced boards like ESP & Raspberry Pi is still unknown. It very well could end up like the Arduino Robot...


It would be simple enough for Paul to release a board that is routed to accept high-density connectors on its bottom side, and offer it with or without connectors installed.

Normally I don't talk much about the manufacturing side of Teensy. We use a local contract manufacturer for all the SMT soldering. Like all CMs, they're not usually eager to share too much detail of their internal process. But they are local and in pre-Covid times Robin & I could just drive over there and meet with them in person. We did have quite a lot of communication with them in the lead up to Teensy 4.0 and 4.1, which are the only Teensy models to have parts soldered on the bottom side. (The SD adaptor for Teensy 2.0 also has parts on both sides)

The way Teensy 4.0 & 4.1 are being manufactured is optimized for only 402 & 603 size parts on the bottom side. The clear feedback we've heard is putting as many of those 402-603 parts on the bottom and keeping all the complex parts on the top is optimum. They actually wanted *all* the 402s on the bottom, but they were pretty understanding that at least some parts like the crystal oscillator capacitors had to be on the top for solid engineering reasons. I'm pretty sure they could put complex parts like high density connectors on the bottom side. But it would almost certainly become a much more complicated (and thus expensive) process to manufacture.

From a business perspective, experimenting with different ways of manufacturing Teensy using a CM has an entirely different set of trade-offs than in-house manufacturing like Sparkfun & Adafruit do.

Whether only routing the PCB (leaving unpopulated locations on the bottom) is "simple" could be debatable. Arduino's website has a nifty tool to show you their PCB layout. Portenta is an 8 layer PCB. While they don't give the exact specs, if you look closely it's pretty clear they're using a "HDI" process with blind/buried laser drilled holes on the outer layers. Looking at my Portenta under a microscope shows completely flat vias, so my guess is they're also using filled & plated via process! I haven't look carefully at which combinations of layers are (likely) mechanical drilled. Seriously, just spend a few minutes looking at their PCB layout and try to figure out the PCB specs. Portenta has a mind boggling complex PCB layout. Maybe someone better than me at high density PCB layout could make more sense of it... but from the perspective of having made Teensy 4.0 and 4.1 which use "normal" 6 layer PCB process (mechanical drill through all layers), looking at Portenta's layout seems to be pretty much the exact opposite of "would be simple". But it does explain the high price. Each of those HDI spec things adds a lot of cost to the PCB, and it looks like they used all of them.


High density connectors also have the problem that they don't live long, if you use them repeatedly.

Intuitively this makes sense. Please don't interpret this question as skepticism, because I do agree. But I still would like to know if any hard data exists about the realistic lifespan and number of non-ideal human behavior mating cycles these connectors can be expected to still work reliably?


I.e. i don't have plans to do much with the Teensy MM. The connector is too much restriction (and it has less I/O, too).

I'll admit, I would a little skeptical when Sparkfun first told me of their MicroMod idea (or the Teensy-specific portion I was allowed to know). Since they're released, I've heard a lot of people express interest. It's still new in the market, so that may just be a honnymoon phase. But some of the comments I've heard seem like pretty realistic low-volume product plans.

I'm trying to keep an open mind, about both card edge modules and high density connectors. That's why I'm taking the time today to write this lengthy reply, even at this stressful time where I'm just barely managing to keep up with only some of the many new forum threads. These are important concepts and decisions for the future. Please know I am here and I am listening, even if I don't always manage to reply to everything.
 
Last edited:
More DACs please. :)

The number of DACs we get built into the chip is entirely up to NXP.

A couple years ago, around the time we were releasing Teensy 4.0, I did exchange several emails with people in NXP who were supposedly involved in decisions about their future IMXRT chips. I repeatedly begged them for 4+ DACs.

They gave us 1 DAC.
 
My personal thinking is that the format of the Teensy developement boards is what made them a hit in the first place. The fact that a 600MHz Cortex M7 powered microcontroller is on the Teensy 4.0 and Teensy 4.1, coupled with the large 1MB internal SRAM makes it hands down the fastest development board on the market. Add its ease of use, it's even a viable board for relative beginners. And it's still flexible enough for some pretty amazing projects to be developed on.
If anything, I think the basic interface to the Teensy using 0.1" headers should be maintained, maybe in doubled up rows. A couple of footprints for adding optional SDRAM would be nice, but in the end it should remain recognizable at a glance as a Teensy board from PJRC: Minimal size, pin headers, and SCREAMING FAST.
One request is that whether it is in the form of a separate connector/footprint on the board or broken out to pins, I sure hope there is access to the LCD controller output. (SDRAM would be nice too!).
 
Last edited:
The number of DACs we get built into the chip is entirely up to NXP.

A couple years ago, around the time we were releasing Teensy 4.0, I did exchange several emails with people in NXP who were supposedly involved in decisions about their future IMXRT chips. I repeatedly begged them for 4+ DACs.

They gave us 1 DAC.

thanks for the inside info. this is kinda sad..
well.. external dac's then.. :)
 
Just wanted to say Thank You, Paul Stoffregen, for doing all the work you do. I can imagine how stressful keeping up with all things is, as I am running the some other tech forum. Thank you for sharing the info about manufacturing side. T4 is fantastic piece of design and manufacturing and your work is highly appreciated.
 
Back
Top