New Teensy 4.1 Arrives With 100 Mbps Ethernet, High-Speed USB, 8 MB Flash

It was only last August that PJRC released Teensy 4.0. At that time, the 4.0 became the fastest microcontroller development board on the planet, a title it still holds as of this writing — or, well, not exactly. Today the Teensy 4.1 has been released, and using the same 600 MHz ARM Cortex M7 under the hood, is now also the fastest microcontroller board. What the 4.1 brings to the table is more peripherals, memory, and GPIOs. While Teensy 4.0 used the same small form factor as the 3.2, Teensy 4.1 uses the larger board size of the 3.5/3.6 to expose the extra goodies.

The now slightly older Teensy 4.0 — released on August 7th of last year — is priced at $19.95, with the new 4.1 version offered at $26.85. It seems that the 4.1 isn’t intended as a replacement for the 4.0, as they serve different segments of the market. If you’re looking for an ultra-fast affordable microcontroller board that lives up to its Teensy name, the 4.0 fits the bill. On the other hand, if you need the additional peripherals broken out and can afford the space of the larger board, the not-as-teensy-sized 4.1 is for you. How big is it? The sample board I measured was 61 x 18 mm (2.4 x 0. 7″), not counting the small protrusion of the micro-usb jack on one end.

Let’s have a look at all the fun stuff PJRC was able to pack into this space.

100 Mbps Ethernet

Add your own jack to enable the 100 Mbps Ethernet port

The big news is that Teensy 4.1 comes with 100 Mbps Ethernet support. To use the Ethernet port, you need to supply external magnetics and an RJ-45 jack. These were left off the board for obvious reasons — even using a jack with integrated magnetics (magjack), it wouldn’t fit on the PCB. Instead, a 6-pin header on the board can connect to an external interface. This also helps keep the price low for those who need the other features of the 4.1 without Ethernet connectivity.

Ethernet and USB host port headers (bottom of PCB)

PJRC will likely sell a DIY kit of the required parts in the future, but they don’t have a release date or pricing yet. For now, you can easily build your own using this OSH Park shared project. The parts list is in the project’s description, with the key part being the magjack, which will set you back around $2.55 in single quantities. Those building a board should note that this is an early version, and it turns out that only the 0.1 uF capacitor is necessary. Paul Stoffregen of PJRC told me that he just received a simpler PCB for testing, and will publish the design once it’s has been thoroughly verified.

The Ethernet port is capable of full 100 Mbps speed and supports the IEEE 1588 precision time protocol, which allows synchronization of clocks to within 100 ns over wired connections, enabling some very interesting possibilities. But, aside from that, just the inclusion of Ethernet on a microcontroller board is a big deal. Before this, you basically had two choices if you needed this kind of connectivity: use a powerful single-board-computer like a Raspberry Pi with all the latency and headaches the required operating system brings for doing low-level or real-time tasks, or add a slow SPI-interfaced Ethernet board to an existing microcontroller. Instead, you can now use the 600 MHz Cortex-M7 on this new board to run high-bandwidth, low-latency embedded applications without fighting an OS.

USB Host Port

Just add a header and cable for USB host functionality

Teensy 4.1 includes a USB host port broken out to a five-pin through-hole header on the inside of the PCB, as was done on the 3.5/3.6 versions. The port will do 480 Mbps high-speed USB. It also adds the power management required for hot-plugging USB peripherals — just add a USB host cable, and you’re good to go. PJRC sells these cables, or you can use a USB2 cable scavenged from an old PC: the pinout is the same. The older Teensy 4.0 only has the USB data lines broken out to surface-mount pads on the PCB.

microSD Card Slot

Like the Teensy 3.6, the new 4.1 board has a microSD card slot on one end to add removable storage. While the pins for this are broken out on the older 4.0 version, the inclusion of this socket greatly simplifies using the interface. And this isn’t like some of the microSD card interfaces you may have seen where you can only use the slower SPI protocol to access the card; here you can use fast, native SDIO.

More Memory!

Teensy 4.1 Bottom Side with user-supplied QSPI RAM chips

Teensy 4.1 has 8 MB of flash memory for program storage, up from the 2 MB on the 4.0 version, quite an enhancement. The microcontroller on the Teensy 4.1– an IMXRT1062, same chip as on the 4.0 — comes with 1 MB of on-chip RAM. It’s easy to think of this as a lot for a microcontroller, at least until you think about the power of this 600 MHz 32-bit processor and what people will want to do with it: audio and graphics applications can easily chew through the 1 MB, as can emulation of other processors/systems, such as for retro gaming. So, the Teensy 4.1 allows addition of either or both of two user-supplied extra memories. On the bottom side of the PCB, there are two SOIC-8 footprints: the one with larger pads will accept a QSPI flash memory, while the smaller footprint is intended for an 8 MB PSRAM (pseudo-static RAM) part. You just solder the part(s) on, and you’re ready to go. Thankfully, they’re both SOIC, which these days is considered by many a joy to hand-solder.

A key feature of these additional memories is that they have a dedicated QSPI bus, which doesn’t slow down the Teensy 4.1’s internal program memory. This is especially important for use with flash memory, due to the long erase and write access, which could otherwise bog down a shared bus. Again, by making these parts optional, and user-supplied, PJRC has reduced the cost of the board for those that don’t need the feature(s); those that need them can bring their own memories.

The 4.1 Breaks Out a Full 16-bit GPIO Port

Teensy 4.0 had surface-mount pads for additional I/O. The Teensy 4.1 moves these to the additional through-hole pads the longer board makes available.

One invariable rule of microcontrollers is that you always need a few more pins. While the processor common to both the Teensy 4.0 and 4.1 has a lot of them, the smaller size of the Teensy 4.0 limited the number of I/O that could be brought out to through-hole headers.

The solution on Teensy 4.0 was to add surface-mount pads for some of the I/O. On Teensy 4.1, the luxurious board real estate allows many more pins to be broken out to headers on the board edge. This brings out an additional serial port, for a total of eight, plus additional analog and digital I/O. The new board also breaks out a full 16 contiguous bits of a GPIO port, which allows for fast, wide parallel I/O. If you’ve ever tried doing this using bits cobbled together from multiple ports, you’ll definitely appreciate not only the convenience, but also the speed this brings to port access.

Wrapping Up

So, what’s the value proposition here over the older Teensy 4.0? If you really want to take full advantage of the hardware available on the IMXRT1062, the 4.1 is the way to go: the larger stock and optional memories, extra pins broken out, Ethernet port, and convenience of the microSD socket and USB host port make this much easier. If you don’t need these extras, or simply need the smaller board size, the Teensy 4.0 is still around, and will save you a few bucks.

If you need a refresher on what the Teensy 4.0 brings to the table, and which the 4.1 builds on, check out our review of that version.

82 thoughts on “New Teensy 4.1 Arrives With 100 Mbps Ethernet, High-Speed USB, 8 MB Flash

  1. ” But, aside from that, just the inclusion of Ethernet on a microcontroller board is a big deal. Before this, you basically had two choices if you needed this kind of connectivity”

    Uh, No, not true. ESP32 will do both Wi-fi and Ethernet with the same low latency.

    1. Esp32 ethernet has a few hiccups using Lwip even with the internal mac with external PHY.

      But your right, maybe esp32 will increase performance by the time teensy even gets wifi/Bluetooth.

  2. Have to see if it has FlexBUS to decide if this is a viable replacement for the 3.5/3.6. And if it uses the same USB guest as the 4.0, that is another deal breaker for me.

    1. I certainly hope not, the process of allocating mac addresses is expensive and adds to the cost of a product, esp when only a small fraction of the devices will have ethernet enabled.

      Besides all that, this is an embedded device, not a finished product, and things like mac addresses are the domain of the final manufacturer who will probably want mac addresses of their own.

    2. i.MX RT1062 has a spot for 2 MAC addresses in its fuse bank, so you don’t need external storage for a permanent MAC. However I’m not sure if PJRC is programming a MAC.

  3. Even though I know nothing about it, I think it’d be interesting to try to use one of these as the basis for a motor controller. Use the IO pins to drive some sort of array of IGBTs for some larger power motors. Given how programmable this thing is, it makes me think it could be switched to do either a DC motor or an AC motor without too much difference.

  4. I strongly disagree with PJRC
    IF PJRC is reading this, please take some action. Hmm

    I am a hobbyist and an electronics lover plus hacker and showed up myself more then 20 times in Hackaday.

    Unfortunately I was so blind and blindly purchased the teensy 4.0 and now you are coming up with more pinouts! You could have done this in your 4.0 itself!!! Coz the mcu is expensive and it worth investing on adding an sd card socket and few additional pins :(

    Also I would like to get access to the PJRC forum but I don’t know why but the TEENSY guys have blocked many countries from accessing it! I am from India and I can’t access the forum, it says I am not authorised to access it. They why are you selling it to all ?

    My request:

    Allow all to access your forum.

    Give MCUxpresso support + debugging support for your these kind of high-spec boards because many of your customers would like to program it the native way, especially myself I never use the Arduino ide even though I use Arduino.

    What is the best project a user or yourself have done on teensy 4.0 ? Because I couldn’t find much online. Teensy 4.0 is purely a failure, do you agree with me? Hmmm I am a frustrated teensy 4.0 customer. :) :D

    But it’s okay. Atleast @PJRC allow all countries to access your PJRC forum. Hmmmmm

    1. The small form factor that the Teensy, 3.1-2, and the 4 is the most popular form factor. It only makes sense to build that version first. Most people will never use all the IO available on the standard teensy.

      You could try a VPN.

      People have gotten MCUxpresso to work with it.

      1. Form factor doesn’t justify by abusing such a powerful MCU or kind of a bridge between MCU and a microprocessor without giving enough pinouts and properly taking out it’s power out for users.

        Yes, and do you think that I am not aware about using it with a VPN? I don’t want to pay for a VPN for it. So are you suggesting me those thousands of free VPNs all around us ? Such as Hola and similar ones? Hope you won’t. :)

        Yes, Me too got it work with MCU expresso recently with own effort. But why can’t the PJRC do it coz they made the board. And they can’t abuse the MCU by telling that we made it for the Arduino community :) Coz it will be like selling a Ferrari with an 800CC engine unlocked. :P

        NEVER MIND, BECAUSE I AM A FRUSTRATED PJRC TEENSY 4.0 CUSTOMER.. :D

        1. Of course form factor matters. When you make a product you design whats going to sell the most.

          Teensy 4 was built with the Arduino IDE in mind. Thats just the way it is, no one needs to cater to every individual customer. Abuse the MCU? I dont think it cares how many pins you are using or not using.

        2. “Form factor doesn’t justify by abusing such a powerful MCU” – Meh; you’re talking about a board with about the same list price as an Arduino Nano; I’m pretty sure it doesn’t matter if a bunch of the CPU’s pins are wasted (and it’s an interesting design decision or experiment…)

    2. I do not agree with you, there are many applications for the speed. For example, I made an asynchronous USB serial communication interface device with Teensy 4.0. It can transfer data at over 9k bytes per second to an 8-bit 65c02 breadboard computer running at 1 MHz, with error checks. Addressing is resolved on the fly with Teensy 4.0 (it has access to full 16b addr bus and 8b data bus of the 65c02). I need to run the Teensy 4.0 at a clock speed of 912 MHz to do that, but it works. https://streamable.com/oxo28v

        1. Actually its not really an overkill when the 65c02 is running at 1MHz. That only leaves about 500ns (half a clock cycle) to launch an interrupt, resolve the address and output/input the data bus accordingly. And just to be clear, I am not saying it is smart to do this with Teensy, or that it is something I really need, but its something fun to do while sheltered at home :)

    3. Some servers are configured to detect intrusion attempts and use countermeasures to protect themselves. This might include blocking all traffic from an IP address that is trying specific attacks. The server does not care which country the attack is coming from. In this situation, if you are an honest user and are getting blocked then you are probably sharing your IP address with one or more hackers (via DHCP maybe).

      The fix: do some leg work yourself and investigate the IP addresses used by your ISP. Are they constantly flagged are malicious? Find a different ISP that will not tolerate this behaviour and has a better reputation and switch.

        1. No you cannot imply PJRC if blocking all of India because “hackaday, edaboard and tons of tech blog works for me and people in India.” All you can really say is that “PJRC doesn’t work.” ***FOR YOU***

          As I have tried to explain, the PJRC server is rejecting comms from your IP address and this does not mean that it is rejecting comms from everyone in india. Stop feeling sorry for yourself because you feel you are being persecuted because you are indian and listen to someone who is tring to help you.

          1. Brother, You are just telling your opinion. I have experienced it and I can show you proof also.

            Without data, yours is just an opinion.

            I am telling you, I tried from my personal home network, then I tried from my office, then I asked my friends all around India and for none of them it is not working.

            If you have any doubt, you ask any of your friends in India or worst case you try it on any VPN giving indian server, it won’t work.

            I can’t understand why you guys are not believing if someone is giving proper explanation and use case.

            You give it a try from your side by using any friend or what ever way and get an idea rather than just telling your opinion :)

            Mine is not an opinion, I tried all ways and I realised it won’t work in India and not only in india but in many other countries also.

            May be what u are telling may be right that they are not doing it intentionally but their setup of blocking is not working the right way and it blocking a lot of IPs unnecessarily.

            So try it and tell your opinion.

      1. I am also a Teensy user from India and is very much frustrated by the difficulty in accessing the forum. The forum is not accessible from my office, home broadband or even cellular data -all different ISPs. Every time I have to refer something on the forum, I have to login via a proxy/vpn.

    4. I believe in most case the computing power (as well as the teensy libraries) are the reason people go for the Teensy 4.0. If more inputs are needed, port expander can be used, or a slower microcontroller with lot of IO.
      I’ve built a synth with a Tensy 4.0 It works great, Everything I wanted implemented on it (audio processing, filtering, MIDI connectivity, etc) was working out of the box, and for the 32 analog and the 50+ digital inputs I needed, two mega-pro boards do the job. I don’t think there are many projects that need a lot of IO with MHz refresh rate.

      The project is hosted here : https://hackaday.io/project/170474-teensymoog

      1. An SDR front end ADC running at 120 Msps would have 5 clock cycles between samples, assuming system clock is 600 MHz.
        You might implement a basic DDC with that. Feels like a lot of resources going to waste, though.

  5. what niche is this trying to fill?

    It sounds awesome, but at the same time, lower end/cheaper microcontroller or raspberry pi would easily fill whatever area this is trying to accomplish. Even combined would be the same price for more performance.

    1. I agree with your comment. They tied the most powerful microcontroller in the world under Arduino’s cow barn. :(

      But it is okay, we can somehow agree, but what about the pinouts and the development under the NXP toolchain ? Because an above average user might have to squeeze out the maximum from it which might not be possible just with the kid’s friendly Adruino software IDE or whatever.

      There could have added at least a uSD socket in teensy 4.0 but unfortunately the designer skipped it for whatsoever reason. And I couldn’t find any decent projects on Teensy 4.0 on the entire internet, may be I have to search more.

      1. Im using the teensy 4.0 right now, will be upgrading to 4.1 owing to the extra memory, but for my two cents the t4 is so powerful that the ‘cool stuff’ i’m using it for is commercial. Meaning you can’t have my code for free, this isn’t a toy

    2. It fills the niche of people who needed the power of a Teensy 4 but need more GPIO or other ports. Just like the 3.5/3.6. And you dont have to wait for it to boot linux. Just two different areas of application.

    3. Bare metal microcontrollers vs running linux are two completely different products that honestly don’t compete with each other at all. You can get orders of magnitude more precise timing on even a much slower microcontroller than on a raspberry pi. And this teensy 4.1 has way more IO pins that a pi.

      1. But still. You can also program the Raspberry PI on the bare metal. It will be harder to access all the features on the board, because you’ll have to write your own drivers (or implement Linux driver support, so you can use the Linux drivers). But if the price of the board is lower, even with all that extra hardware that you won’t use, then, well, the waste may be higher, but the price is still lower, right? It will probably just come down to the form factor, then.

        Teensy is about as long as a Raspberry PI zero, but half as wide. Also, the Teensy fits on a 48-pin DIP socket, which is more stable than an RPI plugged onto a 40-pin pin header on one side of the board. For automotive designs, you’d have to screw the RPI down. This Teensy can be plugged into a 48-pin DIP socket, and for worst case scenarios can be simply clipped down to the socket.

        1. lol I like how you just handwave over writing drivers for the rpi in bare metal mode as if that’s no big deal. Going from zero to blinking a LED on the teensy is like 5 lines of code, click a button and it downloads over usb. And it has libraries already written for basically every peripheral. And tons of projects and examples online. Again they’re both great boards but they have different use cases.

  6. I’m glad it follows the TEENSY tradition of having lots of RS-232 ports. These are my go-to parts for handling sensors – many of which have async serial interfaces. Although I don’t need Ethernet yet, the possibilities are intriguing.

    1. Just being pedantic here but I don’t think it has any RS-232 ports…it does have a lot of serial ports that you could connect to RS-232 with the proper circuitry

      1. With Ethernet being another serial protocol … (sorry, couldn’t resist).

        To me the interesting (so far unmentioned, I believe) aspect of Ethernet are the built-in “magnetics” of the MagJack: galvanic separation, which is desirable, e.g. when building measurement devices.

  7. > Before this, you basically had two choices if you needed this kind of connectivity: use a powerful single-board-computer
    > like a Raspberry Pi with all the latency and headaches the required operating system brings for doing low-level or real-time
    > tasks, or add a slow SPI-interfaced Ethernet board to an existing microcontroller.

    Cnlohr would like to know your location.
    https://hackaday.com/2016/04/01/ethernet-controller-discovered-in-the-esp8266/

    1. He didn’t really “discover” it, cos it isn’t there. He’s just that good he got some micro or other to transmit NTSC video through the air over RF through it’s GPIO pins. And it wasn’t even switched on!

      Ok that last bit might not be true but the rest is. Just cos CN can do it doesn’t mean ordinary people can. Or, more prosaically, that it isn’t an ingenious but dirty hack that’s probably limited in usage outside some very particular circumstances.

  8. I think PJRC does a good job with the hardware – but like a lot of hardware people (including many I’ve worked with) – they don’t think about the software and documentarian enough. After all, to them, it is obvious how to use it..

    You see that with the new teensy – it’s on some parts of their web site, but not others.. Web pages also have links to things that aren’t found (the shopping cart!) and there is a fundamental lack of documentation. On top of that is the support for the ardunio crap ide – I struggle to think of anything I’d want to do with this processor that I would do in that ide – they should be supporting eclipse and platformio (etc).

    If you know what you are doing all that can be worked out, but if they want to attract people to start with their product they will get more if there is less upfront time to use it seriously.. I know I haven’t got time due to the (lack of) documentation level..

    1. I agree, you quickly are on you own when you want to do more advanced stuff. Even debugging, which is a necessity for such a powerful processor/µC.

      It is easier to use a development board from NXP directly.

  9. “At that time, the 4.0 became the fastest microcontroller development board on the planet,”

    LOL. No.
    Maybe for arduino IDE, im not too familiar with it, but not in general. And I’m not talking about some Linux-whatevernotreallymicrocontroller-controllers here.

    1. LOL. Yes. The 1Ghz RT1072 wasn’t released until after the 600Mhz RT1062. Both carry the Cortex-M designation.
      Neither of them require the Arduino IDE. Teensy 4.0 works just fine with the NXP tooling too.

      See here:
      https://investors.nxp.com/news-releases/news-release-details/nxp-launches-ghz-microcontroller-era

      Also, I picked up three of the RT1010-EVK kits mentioned in that october 2019 press release.
      “In addition, starting on 10/10/19, the MIMXRT1010-EVK will be available at a promotional price of $10.10 – for a limited time only.”

      These are the little brother to the Teensy 4.0.

      https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/i-mx-rt1010-evaluation-kit:MIMXRT1010-EVK#t748

      All of the RT family are supported under the same MCUXpresso kit they’ve offered for years.
      Paul just offers a nice little flash downloader tool that’s well integrated into the Arduino IDE.

      And none of these microcontrollers can even run linux since they lack memory protection — ucLinux, yes, mainline no.
      The STM32MP1 is the lowest end “microcontroller” that has the proper ARM resources to run mainline linux.

      The “System on Chip” Cortex-A series designs like the Raspberry Pi’s Broadcom BCM2835/6/7, Amlogic, Rockchip and Allwinner’s lines of media SoCs, and other designed-for-linux single board computers need not apply, despite the fact that one can write bare metal ARM kernels to run on them like PiGFX, without register level documentation of the peripherals, you’ll get nowhere fast. And those SoC GPUs are one of the least publically documented hardware peripherals on the market.

  10. Having the Ethernet Jack off-board is actually quite handy. With most SBCs you are generally stuck with the jack in a location that the designer sought made sense, or the routing tool put it. This can make it a pain to expose the port through the site of any case, nd often means you need cutouts for the other connectors even if you don’t want them visible or used.

    Having the jack separate means that you can wire up your front/back panel as you want, and then cable it to the SBC.

    I wish more manufacturers would do this!

    1. It’s clear reading the comments that some people just don’t understand the difference between a SoC running an OS and a fast microcontroller with no OS overhead.

  11. @tekkieneet said: “If you really want a proper MAC address, 24AA025E64 is a I2C EEPROM (2k bits) preprogrammed with an unique MAC address.”

    I looked briefly at physical chips like the 24AA025E64 for harvesting a unique MAC address, but from my cursory examination it seems these chips harbor a manufacturer programmed globally unique (IEEE) EUI-64 MAC address. In most embedded local IPv4 applications I think what’s needed is a unique EUI-48 MAC address (i.e., now deprecateed MAC-48 terminology). It may be possible to convert the chip’s EUI-64 MAC address to EUI-48 depending on how the manufacturer handles a bunch of bits in the middle of the EUI-64 address. But do recognize that in a strict sense it seems a EUI-48 MAC address is no longer considered “Globally Unique” in the “wild”. Anyway, read the datasheet and app notes for the Microchip 24AA025E64 part. I remember a Microchip app-note for this part that addresses this topic.

      1. Yup… Even if I toss a hopelessly broken network-capable device in the recycle bin, I keep a copy of the MAC address. It’s not a perfect solution by any means, but the manufacturer’s unique ID is a sort of rememberance of what it was, and the unique ID will be good on my LAN.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.