Bootloader Chip For Teensy 4.0

the pcb file should not be very useful at all to you unless you want to replicate copyrighted work, the pcb is highly integrated making it hard to reuse for a different board. Paul has provided not only the schematics but also a lot of instructions to make us successful in our integrations which is expected to be very different from the teensy board form factor anyway.

I only want my custom teensy to be at the same PCB as my other periphery ICs (such as high precision ADC, WiFi module and so on). I have bought teensy 4.0 and 4.1 board from PJRC, but soldering teensy board from PJRC on my PCB might not be a good idea for high-volume products.
 
...a truly minimum T40 implementation diagram....

Not planning to publish any other schematic, at least not anytime soon.

I did go to quite a bit of effort to create that section about the startup sequence, including the 10 images and buttons with javascript, so you can understand how the startup sequencing works. The idea is you help you know enough to adapt it to your needs.

The reality of today's situation is a ton of engineering work is needed, on the software side, to support the next IMXRT chip that's coming soon, and on so much missing documentation. PJRC is running short-staffed due to Covid19 social distancing requirements, which means a lot of the time Robin & I would normally spend on business & engineering is going into just keeping the company running. There's just no way I can pour more time into building up & thoroughly testing an alternate design.

And no, I'm not going to publish a "this should work" schematic without building and carefully testing it. My general feeling is an unproven, untested design, no matter how simple it may seem, is probably worse than nothing (other than the very well known Teensy 4.0 & 4.1 designs).

But I am hoping some people who make their own boards might be willing to share info.


Hi Paul, is it possible to share the custom Teensy IMXRT1062 schematic and PCB file?

The only schematic is already on the website. There is absolutely no schematic in any CAD software. I don't use CAD for schematics.

The PCB design was done using an ancient version of PADS. It uses a proprietary format which doesn't play nice with anything else.
 
Not planning to publish any other schematic, at least not anytime soon.

I did go to quite a bit of effort to create that section about the startup sequence, including the 10 images and buttons with javascript, so you can understand how the startup sequencing works. The idea is you help you know enough to adapt it to your needs.

The reality of today's situation is a ton of engineering work is needed, on the software side, to support the next IMXRT chip that's coming soon, and on so much missing documentation. PJRC is running short-staffed due to Covid19 social distancing requirements, which means a lot of the time Robin & I would normally spend on business & engineering is going into just keeping the company running. There's just no way I can pour more time into building up & thoroughly testing an alternate design.

And no, I'm not going to publish a "this should work" schematic without building and carefully testing it. My general feeling is an unproven, untested design, no matter how simple it may seem, is probably worse than nothing (other than the very well known Teensy 4.0 & 4.1 designs).

But I am hoping some people who make their own boards might be willing to share info.




The only schematic is already on the website. There is absolutely no schematic in any CAD software. I don't use CAD for schematics.

The PCB design was done using an ancient version of PADS. It uses a proprietary format which doesn't play nice with anything else.

Paul, in the future, do you have any plan to release SMD form of teensy so that it could be directly soldered on the other PCB like a IC? (Currently there are components on the back of Teensy so it is not possible to solder it on other PCBs directly). It is likely some companies will buy large volumes of SMD teensy to use in their products. :D
 
Hi Paul, is it possible to share the custom Teensy IMXRT1062 schematic and PCB file? So that everyone else does not need to repeat the same work of design our custom teensy 4 board. Given that the IMXRT1062 package is BGA, making the schematic and laying out the board takes much time. And it is very likely to make errors.

The only reason to make a custom board is because the teensy won’t fit. So I can’t imagine the teensy layout would be of much, if any, value to anyone else. As far as the schematic, it is already a minimal design. There is almost nothing there that doesn’t need to be there.
.
Anyone who undertakes a custom RT1062 project needs to consider that it is nothing at all like laying out a tqfp or dfn project. Layout for dense BGA packages is hard. Assembly is also hard. If you haven’t done something like this before you’re almost certainly better off buying a Teensy and designing a baseboard around it.
 
Here are some images and files of the early Teesny beta test board, which might help for "inspiration". It was routed using only 4 layers and only slightly larger than the final Teensy 4.0 size.

These are the 4 layers:

layer1.png

layer2.png

layer3.png

layer4.png


This was an early prototype where only about 25 boards where ever made. The BGA was soldered by a CM, then Erin a.k.a. "Soldering Goddess" and I hand soldered all the rest of the parts based on hand-written notes, where are long since gone. There isn't any documentation about which parts are which, but it is pretty much the same schematic at Teensy 4.0 (the 100K resistor on PMIC_ON_REQ might be different... that was one of the gotchas on this prototype...)

There is no BOM, schematic or even parts placement diagram. But at least this can help you visualize a possible way to do the layout using only 4 layers and a "normal" PCB process.

Here is a ZIP file with the gerber files ready to use with OSH Park or other PCB services, if you want to make this PCB.
 

Attachments

  • tfour_proto_8.zip
    119.9 KB · Views: 97
FWIW, that prototype PCB also brings all the QSPI, JTAG and other signals to little test points. Somewhere in a box I have a pair of other PCBs with pogo pins that mate with the prototype and bring all those signals to headers for connection to a Saleae logic analyzer. The very early days of development where quite a challenge to figure out FlexSPI and other stuff before NXP had useful example or their SDK.
 
Layout for dense BGA packages is hard.

The layout is really tough if you try to bring out most of the pins. But it gets quite a bit easier if you only route a small fraction of all the signals.

The smaller 0.65 mm pitch package is also really hard with normal PCB process. When NXP launched IMXRT, that was the only package they offered. So that's what went into Teensy 4.0. By the time they changed their minds and offered the much easier 0.8 mm pitch (used on Teensy 4.1) this prototype had been made and the 6 layer design was mostly done.

0.8 mm pitch BGA is really in the "sweet spot" of modern PCBs, doable with 5 mil spacing and ~19 mil diameter vias, which almost all PCB vendors can do with 8 or 10 mil drill size.
 
Hey Paul, thanks a lot for adding components locations in the schematics really useful!
I think at least one cap (C13) is missing for T41, could it be the one not labelled just above C14 on the PCB?
 
I'm working today on the documentation. Just added a buttons with a little JavaScript, so you can (hopefully) visualize how the power up sequence works.

https://www.pjrc.com/store/ic_mkl02_t4.html

Once again Paul YOU ARE THE MAN ! Been following this thread for a while and have been amazed at your patience and perseverance. The documentation with the buttons sets a new high bar. That made it about 100x quicker to comprehend and therefor understand what's happening.

Wonder if you could comment on the 24 bit Ethernet Mac addresses. Do you have to get them from some organization? Do you have to pay someone? Do some bits mean something?

pre thanks
 
Last edited:
Something that always intrigued me is that the mosfet (dmg2305ux) is always on (as the gate is always at GND level), is it only there for a kind of reverse polarity protection circuit?
EDIT: Must be that the dmg2305ux P-Channel mosfet features a very low Rds(ON) an ltspice sim showed me only a 4mV voltage drop with a load of 25R, much nice than if a shottky diode were used (see simulation below)DMG2305ux.PNGReverseVoltageProtection simulated.PNG
 
Last edited:
Simply said rather than in my previous message: the dmg2305ux role seems to be that it allows for reverse polarity protection while not causing a significant voltage drop and not causing significant current consumption/limitation as when compared to using a diode (8mV drop actually not 4mV in the simulation, still much smaller than usual hundreds of mV drops with diodes).
 
Wonder if you could comment on the 24 bit Ethernet Mac addresses. Do you have to get them from some organization?

Yes, the top 24 bits are assigned by IEEE. They call it "Organizationally Unique Identifier" (OUI).


Do you have to pay someone?

Yes, and it's expensive, currently about $3000.

https://standards.ieee.org/products-services/regauth/oui/index.html


Do some bits mean something?

As far as I know, it's just a unique number they assign to everyone who pays the fee.

The lower 24 bits are then supposed to be assigned to each manufactured device by your organization. PJRC does this with all 32 bit Teensy boards. The low 24 bits are unique across all our 32 bit products, and these Teensy 4 bootloader chips. But the Teensy 3 bootloader chips and Teensy 2.x boards do not have a unique mac address.
 
the dmg2305ux role seems to be that it allows for reverse polarity protection while not causing a significant voltage drop

Yes, exactly, it's for reverse polarity protection.

On Teensy 3.6 a normal schottky diode is used and indeed it costs almost half a volt when USB host mode is used to power a USB hub and a couple USB devices. I'm acutely aware of this because the Total Phase Beagle 480 USB Protocol Analyzer I use for developing USB host is a bit finicky about the USB power and refuses to work if the VBUS voltage drops under about 4.6 volts.
 
Wonder if you could comment on the 24 bit Ethernet Mac addresses. Do you have to get them from some organization? Do you have to pay someone? Do some bits mean something?

BTW: if you need a MAC address for projects not containing a Teensy, there are small (e.g. sot23) and cheap chips with preprogrammed MAC. E.g.: https://www.microchip.com/wwwproducts/en/11AA02E48. In addition to the MAC you get 256B EEPROM.
 
I just realized the web page had an error. The mac address is 48 bits, not 24. The top 24 are the OUI assigned by IEEE and bottom 24 are assigned by PJRC uniquely across all Teensy boards & these chips. The bootloader does initialize all 48 bits. The idea is if you've created a design using Teensy 4.1 with the native ethernet and you want to transition to your own PCB, your code which worked on Teensy 4.1 should "just work" on your custom PCB.

One thing that will not work is using a single MKL02 to program multiple IMXRT chips. The mac address is required to be unique, so it will not initialize another chip.

IEEE mac addresses aren't the only unique number issue. Today we're not yet supporting the security features for flash encryption and authentication. But these bootloader chips have some of the groundwork needed to eventually add this support with a software update. Multiple aspects of the security features require a 1:1 pairing between chips.
 
Something that always intrigued me is that the mosfet (dmg2305ux) is always on (as the gate is always at GND level), is it only there for a kind of reverse polarity protection circuit?

This is what is known as an "ideal diode" circuit. It acts like a diode with a very low forward drop. In the forward direction the P mosfet is biased on and the voltage drop is = RDSon * current, which is usually specified to be as low as device cost / size permits. In the reverse direction the Mosfet is biased "off" and its internal body diode is also reverse biased so the device blocks current flow.
 

Hello Paul,
I am a mere mortal and my little brain can't possible comprehend all that you have created here. 1st, thank you so very much for your hard work. I do have a designer who is creating a product for me. Our initial prototype was based on Teensy 3.6 and although a very formidable option, I believe our project was hitting the limits of the platform. We are finalizing the re-design with Teensy 4.1 so this bootloader is super important to our work. Tonight (12:50am my time) I was contacted by my designer about this and have been reading all about it. Needless to say, I will contact you tomorrow (or rather later today) to put an order for some of these MKL02 chips. I just wanted to pop in here and thank you for your hard work.
What would be the best method to contact you to place the order. Just place it on your site, call in or via email?
Let me know.
Thank you much.
 
What would be the best method to contact you to place the order. Just place it on your site, call in or via email?

Just place the order on the website.

If you have questions, ask them here. Don't email or call for any questions. All questions need to be asked & answered here on the forum.

After you've soldered the chip to your custom PCB and you have any results or feedback, I'd prefer to see it here on this forum thread. But if your PCB is secret and you can't share photos or details here, then email.

Only call if there is an urgent problem with your order, like the UPS says they're giving up delivering the package, a mistake in billing or shipping address, an issue with your credit card, etc. Do not call for any technical questions or feedback. PJRC has a hard rule about no telephone tech support (it takes way too much time and the answers don't benefit anyone else). All tech questions need to be asked here on this forum.
 
Back
Top