Site Information

 Loading... Please wait...

Blog

The Ultimate Guide to Teensy Microcontrollers: History, Specs & CAN Bus Applications

Posted by Wilfried Voss on

Ultimate Guide to Teensy Microcontrollers

The Teensy product line, developed by PJRC, is a family of high-performance, compact microcontroller development boards renowned for their power, versatility, and seamless integration with the Arduino IDE. Since its introduction in 2008, the Teensy series has evolved from modest 8-bit AVR-based boards to cutting-edge 32-bit ARM Cortex-M7 systems. Each generation introduced major advancements in speed, memory, and connectivity, culminating in the Teensy 4.x series, which offers a 600 MHz processor, up to 8 MB flash, and a rich set of I/O features including multiple serial ports, CAN Bus support, I²S audio, and USB host capability. Teensy boards maintain a small footprint and a breadboard-friendly form factor, making them ideal for both prototyping and embedded systems design.

What sets Teensy apart is its ability to combine professional-grade performance with user-friendly development tools. The Teensyduino add-on for the Arduino IDE allows developers to take full advantage of the hardware's advanced features using familiar Arduino-style code. Additionally, PJRC provides a robust set of libraries tailored to the unique peripherals of each Teensy board, such as a real-time audio library and optimized CAN and DMA support. These boards are widely used in automotive, industrial, robotics, music, and IoT applications, with a growing ecosystem of third-party and vendor-supported accessories—including breakout boards, CAN interfaces, and network adapters—further extending their capabilities.

Historical Timeline of the Teensy Series

  • Late 2008 – Teensy 1.0: Paul Stoffregen (PJRC) releases the first Teensy board, based on an 8-bit AVR (AT90USB162). It was the first Arduino-compatible board with native USB support (12 Mbps), at a time when Arduinos used slower serial-over-USB bridges. This enabled direct USB communication for projects (e.g. USB-based HID devices) without external interfaces.

  • 2009 – Teensy 2.0: An improved 8-bit AVR board using ATmega32U4 at 16 MHz, offering 25 I/O pins (5V tolerant) and built-in USB HID support. Teensy 2.0 added the ability for the device to act as USB keyboard, mouse, or MIDI out of the box. PJRC also introduced the Teensy++ 2.0 using the AT90USB1286 microcontroller, which provided 46 I/O pins and more memory for larger projects. These 8-bit boards ran at 5V logic and became popular in custom keyboard and LED projects.

  • 2012 – Teensy 3.0: The first 32-bit ARM-based Teensy, launched via a successful Kickstarter campaign​. It featured an NXP MK20DX128 (Cortex-M4 at 48 MHz, 3.3V logic) with 128 KB flash and 16 KB RAM, bringing significantly more performance and peripherals than the 8-bit series. Teensy 3.0 pioneered the effort to port Arduino libraries to a more capable MCU, enabling advanced features (DMA, high-speed timers, etc.) to be used in the Arduino environment​.

  • 2014 – Teensy 3.1 and 3.2: These updated 32-bit boards used the MK20DX256 (72 MHz Cortex-M4) with 256 KB flash and 64 KB RAM – 4× the RAM of the 3.0. They maintained the same form-factor as 3.0 but with more I/O and minor improvements. Teensy 3.1/3.2 provided a big boost for audio and graphics projects due to the larger memory and CPU speed. (Teensy 3.2 was a drop-in replacement for 3.1, adding a more powerful voltage regulator for peripherals.) PJRC’s Teensyduino software continued to mature in this era, including an Audio library that could turn the Teensy into a USB sound card or run a modular synthesis toolkit.

  • 2015 – Teensy LC (Low Cost): Introduced as an entry-level option, the Teensy LC is a 32-bit ARM Cortex-M0+ board at 48 MHz, with 62 KB flash and 8 KB RAM. It retained the Teensy form factor at a lower price point, ideal for simpler projects and “Internet of Things” use cases. Despite its lower specs, it offers 27 I/O pins (many shared functions) and basic USB support, making advanced MCU features accessible to beginners at low cost.

  • 2016 – Teensy 3.5 and 3.6: Launched via a second Kickstarter, these boards were larger (the size of a breadboard) and much more powerful. Teensy 3.6 runs a 180 MHz Cortex-M4F (with FPU) and has 1 MB flash + 256 KB RAM, while Teensy 3.5 runs a 120 MHz Cortex-M4 with 512 KB flash + 192 KB RAM. Both introduced an on-board SD card slot (4-bit SDIO), dual CAN bus on 3.6 (single CAN on 3.5), and even a dedicated Ethernet MAC (requiring an external PHY)​. Notably, all 3.x Teensies use 3.3V logic (3.5 had limited 5V tolerance on digital pins)​. These high-end 3.x models maintained backward pin compatibility on the first 28 pins for easy migration.

  • Aug 2019 – Teensy 4.0: PJRC released the Teensy 4.0, which moved to an NXP i.MX RT1062 ARM Cortex-M7 at 600 MHz, making it one of the fastest microcontroller development boards available at that time. Despite the 10× jump in CPU speed over 3.x, it kept a tiny form factor (same 1.4″ × 0.7″ as Teensy 3.2). Teensy 4.0 introduced an entirely 32-bit platform with 2 MB flash and 1 MB RAM (with 512 KB tightly-coupled memory for real-time performance). It carries over features like multiple serial ports, SPI/I2C, I²S digital audio, and three CAN buses (with one supporting CAN FD) in the same small footprint. Due to space limits, some I/O (Ethernet, SDIO, USB host) are present as pads on the underside rather than full connectors.

  • May 2020 – Teensy 4.1: A larger companion to the 4.0, the Teensy 4.1 uses the same 600 MHz i.MX RT1062 chip but on a 2.4″ × 0.7″ board to expose more features. It upgrades flash to 8 MB and adds dedicated pads to easily expand memory (supports adding two QSPI memory chips – one flash and one RAM). Notably, Teensy 4.1 brings out a 6-pin Ethernet interface (with onboard 10/100 Mbps PHY, just add an RJ45 jack), a full-size SD card slot (native SDIO 4-bit), and a USB host port (5-pin header with hot-plug power management) like the Teensy 3.6 had. It also increases total I/O count to 55, of which 42 are breadboard-friendly through-hole pins – including an 8th serial port and additional analog inputs and PWM outputs compared to 4.0. Teensy 4.1 was released at a slightly higher price than 4.0 and intended for projects needing the extra IO and memory, while Teensy 4.0 remains for minimal size and cost.

(No new Teensy boards have been introduced after the 4.x series as of early 2025, aside from specialized variants like “lockable” Teensy 4.x for code security. PJRC has instead focused on software and collaborative efforts for manufacturing.)

Teensy 4.x Series Technical Specifications and I/O

Teensy 4.0 vs 4.1 Hardware Comparison

The Teensy 4.x series represents the 4th generation and pushes the performance into the hundreds of MHz. Below is a comparison of the key specs and capabilities of Teensy 4.0 and Teensy 4.1:

Feature Teensy 4.0 Teensy 4.1
Processor NXP i.MX RT1062, ARM Cortex-M7 @ 600 MHz (32-bit) – with FPU (single & double precision) Same 600 MHz i.MX RT1062 Cortex-M7 (identical CPU/FPU)
Flash Memory 2 MB QSPI external flash for program storage (approx. 1984 KB usable, with 64 KB reserved for recovery & emulated EEPROM) 8 MB QSPI external flash for program storage (64 KB reserved). Pads for adding a second flash chip if needed.
RAM Memory 1024 KB total SRAM (512 KB tightly-coupled (TCM) for fast access) 1024 KB SRAM (512 KB TCM) – same on-chip RAM as 4.0. Optional: Pads for adding an 8 MB PSRAM chip for extra RAM.
EEPROM emulated in Flash (approx. 1–2 KB available) emulated in Flash (approx. 4 KB)
Clock Speed 600 MHz default (can scale down to reduce power). Consumes ~100 mA at 600 MHz. 600 MHz default (same CPU core). Power usage similar; both support dynamic clock scaling.
Digital I/O Pins 40 total (mounted: 24 on edge pins + 16 on bottom pads). All digital pins are 3.3V logic (5V tolerant on no pins – unlike Teensy 3.2 which had some tolerance). 55 total (42 on edge pins + 13 on bottom pads). Also 3.3V logic (no 5V tolerance). The expanded pin count means many previously hidden signals (like extra serial, analog, FlexIO etc.) are available on 4.1.
Analog Inputs 14 ADC inputs (13-bit resolution) 18 ADC inputs (many are the extra pins on the 4.1’s extended headers).
PWM Outputs 31 PWM-capable pins 35 PWM-capable pins. (Various timers; overlapping with digital pins.)
Serial Ports (UART) 7 hardware UART ports (Ser1–Ser7) 8 hardware UART ports (Ser1–Ser8). (All with FIFO support for high baud rates, two with enhanced features).
I2C (TWI) Ports 3 separate I²C bus controllers (supporting master or slave) 3 I²C buses (no change – the chip has 3 I2C modules).
SPI Ports 3 SPI ports (LPSPI, with one 16-deep FIFO) 3 SPI ports (same modules).
Audio Interfaces 2 I²S / TDM interfaces + 1 S/PDIF digital audio output. Can act as USB Audio class device as well. 2 I²S / TDM + 1 S/PDIF (same as 4.0). Both 4.0 and 4.1 support the PJRC audio shield and multichannel audio library features.
USB Ports Micro-USB connector for USB Device (supports 480 Mbps High-Speed) on both 4.0 and 4.1. Teensy 4.0 also has pads on the bottom for an additional USB host port (High-Speed), but without power management (requires DIY wiring)​. Micro-USB for USB Device (HS). USB Host port: through-hole header (5 pins) on the board for USB host mode at 480 Mbps. The 4.1 includes a power management IC for the host port, allowing hot-plugging of USB devices (e.g. keyboards, flash drives) with just an optional cable​.
Memory Expansion Pads on bottom for one additional QSPI memory (intended for a flash chip for extra storage). Also pads for the USB host and SDIO signals. Pads for two QSPI memory chips (one flash, one RAM) on underside. A microSD card slot is soldered on the board, connected via native SDIO (4-bit) to the MCU – convenient for data logging or filesystems.
Network (Ethernet) None on board. (The i.MX RT1062 has a 10/100 Ethernet MAC, but Teensy 4.0 didn’t include the PHY due to size constraints. Ethernet signals are available only on tiny pads, so practical Ethernet use isn’t supported on 4.0). 10/100 Ethernet PHY (DP83825) included on board. Exposed via a 6-pin header – requires an external magjack (RJ45 w/ magnetics) to use. Supports IEEE 1588 precision timestamping over Ethernet. This makes Teensy 4.1 suitable for networked applications or IIoT without needing an external SPI Ethernet module.
CAN Bus 3 CAN controllers on chip (FlexCAN): two CAN 2.0 and one CAN FD (supporting CAN 2.0 and CAN FD up to 5 Mbit/s). No transceivers on board (require external driver chips). All 3 CAN ports are accessible on 4.0 (some via underside pads). 3 CAN (2 + 1 FD) – same controllers in the MCU. On Teensy 4.1, all three CAN ports are easier to access (broken out to pins/header). Used widely in automotive/robotics projects that need multiple CAN buses.
Size & Form Factor 35 × 18 mm (1.4″ × 0.7″). Pins are in a dual-row 24-pin DIP configuration (0.1″ spacing) for breadboards. 16 extra pads on underside for additional I/O. 61 × 18 mm (2.4″ × 0.7″). Form-factor similar to Teensy 3.6. It fits across 24 breadboard rows, with 5 extra pins at the end and 8 on the bottom. The extra length is used to expose more I/O and features (Ethernet, SD, extra serial, etc.).

Software Support: Both Teensy 4.0 and 4.1 are fully supported by the Arduino IDE using the Teensyduino add-on, which provides integration of Teensy boards and many optimized libraries. Developers can program in the familiar Arduino C/C++ environment, and PJRC maintains a large collection of libraries (for audio, timers, octoWS2811 LEDs, etc.) tailored for Teensy’s hardware. In addition, advanced users can develop with tools like PlatformIO (cross-platform IDE) or Visual Micro (Visual Studio plugin) to program Teensy 4.x. The Teensy boards come with a built-in USB-based bootloader (activated by a pushbutton), and PJRC’s Teensy Loader utility manages uploading compiled code without needing an external programmer. Teensy 4.x can also run alternative firmware – for example, a special build of CircuitPython is available, which when flashed turns the Teensy into a Python-interpreting USB drive (though not all hardware features are accessible in that mode). This flexibility in software support makes Teensy 4.x a powerful yet user-friendly platform for a range of projects.

Third-Party and Teensy-Compatible Products

Beyond PJRC’s official boards, several other vendors have created products based on or compatible with the Teensy series – including both officially licensed collaborations and unofficial derivatives:

  • SparkFun MicroMod Teensy Processor: A Teensy 4.0 in SparkFun’s modular MicroMod form factor. Built in partnership with PJRC, it carries the same i.MX RT1062 600 MHz MCU and core specs as Teensy 4.0, but with 8 MB flash (like a Teensy 4.1) and a custom small board that plugs into an M.2 connector on MicroMod carrier boards. It exposes up to 12 GPIO (plus dedicated analog, PWM, etc.) through the MicroMod edge connector, as well as dual UART, dual I2C, dual SPI, CAN bus, USB, and audio signals. This allows projects to upgrade to Teensy-level performance by swapping in the MicroMod module. SparkFun offers a standard version and a “copy-protected” version of this Teensy MicroMod module for commercial use (the copy-protected variant has the code security feature enabled to prevent cloning). The MicroMod Teensy is fully supported by Teensyduino and the Arduino IDE as an official Teensy device.

  • Custom Teensy 3.x/4.x Derivatives (DIY Boards): PJRC has made it possible for individuals and companies to design their own Teensy-compatible boards by offering the bootloader chip (MKL02/MKL04) for sale. Using these, one can integrate the Teensy’s brains into a custom PCB. For example, the community has produced reference designs like a Teensy 3.2-compatible board in KiCad, and PJRC publishes schematics for all Teensy models for those who want to embed or modify the design. Some hobbyists have built Teensy 4.0 or 4.1 “clone” boards for specific form factors (e.g., fitting a Teensy into a particular product or adding a JTAG header) by leveraging PJRC’s bootloader IC and the NXP chip on their own PCB. These unofficial boards run the Teensy firmware and are programmed just like a PJRC Teensy, since they use the same bootloader. (PJRC’s stance is supportive of DIY use of the Teensy design with official bootloader chips, while purely clone boards without the official bootloader are rare due to the closed-source bootloader and PJRC’s trademark on “Teensy”.)

  • Teensy-Based Commercial Products: Many other third-party products incorporate Teensy boards or are designed as add-ons. For instance, several synth and MIDI controller vendors have used Teensy modules inside their products because of the USB-MIDI and audio capabilities of the Teensy. While not sold as Teensy-compatible development boards themselves, these products demonstrate the broad adoption of the Teensy platform. Additionally, some specialized breakout boards (like audio adapters, LED drivers, etc.) are designed to be used with Teensy – e.g. the PJRC Teensy Audio Shield is a popular add-on (providing an audio codec and SD card slot for Teensy 3.x and 4.x). There are also carrier boards that extend a Teensy with additional ports (for example, Prop Shield, motion sensor boards, or custom backplanes), effectively functioning as Teensy-based systems.

(Overall, the Teensy ecosystem includes officially licensed spin-offs like the SparkFun MicroMod Teensy, as well as a community of custom implementations. These all leverage the Teensy’s software compatibility, ensuring that code and libraries written for Teensy will run on these compatible boards.)

Teensy-Based Products from Copperhill Technologies (CAN Bus Modules)

Copperhill Technologies produces a range of development boards, interface modules, and breakout boards that incorporate Teensy microcontrollers (notably Teensy 3.2, 3.6, 4.0, 4.1) with a focus on CAN Bus and vehicle network applications. Below is a full list of the Teensy-based products featured on Copperhill’s site, including all modules/breakout boards with CAN interface support:

Teensy 4.x Series CAN Boards by Copperhill

  • Teensy 4.0 CAN Bus and CAN FD Training Board – A learning and prototyping board for CAN bus using a Teensy 4.0. It provides both Classical CAN and CAN FD interfaces, allowing users to experiment with the two CAN standards. This board is ideal for training or developing CAN applications with the high-performance Teensy 4.0 as the core.

  • Teensy 4.0 with NMEA 2000 Connector and 240×240 IPS LCD – A Teensy 4.0 based module tailored for marine networking (NMEA 2000 is a CAN-based marine protocol). It includes an NMEA2000-compliant CAN interface connector and a 240×240 pixel IPS LCD for displaying data, making it useful for boat sensor networks or NMEA2000 device development.

  • Teensy 4.1 Triple CAN Bus Board (with 240×240 LCD and Ethernet) – A development board featuring a Teensy 4.1 that provides three CAN ports (2× CAN 2.0B and 1× CAN FD) and an on-board 240×240 pixel display. It also makes use of the Teensy 4.1’s Ethernet capability – an Ethernet interface is provided for IoT or vehicle-to-cloud applications. This all-in-one board is well suited for automotive or industrial projects that require multiple CAN channels plus a user interface and network connectivity.

  • Teensy 4.0 Triple CAN Bus Board with Two CAN 2.0B and One CAN FD (240×240 LCD + MicroSD) – A compact board based on Teensy 4.0, offering three CAN interfaces (including one CAN FD) along with a 1.3″ 240×240 IPS LCD and a microSD card slot. The presence of an SD card holder allows for data logging of CAN traffic. It’s a handy platform for developing and testing CAN/CAN-FD applications, despite the smaller Teensy 4.0, by expanding it with storage and a small display.

  • Teensy 4.0 Triple CAN Bus Board with Two CAN 2.0B and One CAN FD (480×320 Touch LCD) – Similar to the above, this board uses Teensy 4.0 and provides three CAN/CAN-FD channels, but features a larger 480×320 touchscreen TFT display. The touch LCD enables creating interactive interfaces or dashboards for CAN bus data. It’s aimed at more advanced HMIs or graphical display needs while interfacing with multiple CAN networks.

  • Teensy 4.1 Triple CAN Bus Board with Two CAN 2.0B and One CAN FD (240×240 LCD) – This is another triple-CAN board using Teensy 4.1, equipped with a 240×240 IPS LCD. It breaks out all three of the Teensy 4.1’s CAN ports (with the one CAN FD) for use. Compared to the earlier 4.1 triple-CAN board, this version focuses on the CAN interfaces and display, and (from the name) likely does not include the Ethernet interface hardware, making it a bit more cost-effective if Ethernet isn’t needed. It’s great for projects that need the enhanced I/O of Teensy 4.1 and multiple CAN buses, with a built-in color display for monitoring or menu navigation.

  • Teensy 4.0 CAN FD to USB Converter – A small interface module turning a Teensy 4.0 into a USB-to-CAN-FD adapter. It likely includes a CAN FD transceiver, letting the Teensy handle CAN messaging and stream data to a PC via USB. This is useful for interfacing a PC or Raspberry Pi with CAN/CAN-FD networks (for diagnostics, logging, or acting as a USB CAN dongle), leveraging the Teensy 4.0’s speed to handle high bus loads​.

  • Teensy 4.0 Triple CAN Bus Board (Two CAN 2.0B + One CAN FD Port) – A Teensy 4.0 based board exposing three CAN/CAN-FD ports (without an integrated display in this case). It is a more barebones triple-CAN adapter board, useful when you need the three CAN channels from a Teensy 4.0 but can use external means for data display or logging. This could be embedded into a larger system as the CAN communication backbone, taking advantage of Teensy 4.0’s processing for handling multiple CAN streams.

  • Teensy 4.0 CAN FD Board with 240×240 IPS LCD and microSD Holder – A CAN FD development board built around Teensy 4.0, featuring a CAN FD interface, a 240×240 color display, and a microSD socket for data logging. This appears to be a single-CAN (CAN FD) interface board but augmented with a display and SD storage – ideal for monitoring a CAN FD network and recording traffic or parameters to the SD card. It provides an all-in-one solution for working with CAN FD (which offers higher data throughput than classic CAN) on a small, powerful MCU platform.

    Each of the above Copperhill Tech products leverages the power and versatility of Teensy boards, combining them with industrial network interfaces (CAN, CAN FD, LIN, NMEA 2000) and often user interface elements (LCDs, etc.). They demonstrate the Teensy’s popularity in automotive and CAN bus prototyping circles, where the microcontroller’s performance (especially the Teensy 4.x’s 600 MHz Cortex-M7 and multiple CAN controllers) is well-suited for real-time vehicle network tasks. These boards all retain compatibility with PJRC’s Teensy Arduino libraries and CAN libraries, making it straightforward for developers to write firmware to handle vehicle data, log messages to SD, display info on screens, and so on, with the familiar Teensy platform.

    Sources: The timeline and specifications were compiled from PJRC’s documentation and community sources, while the third-party product information is based on announcements and product pages from SparkFun, PJRC forums, and Copperhill Technologies. All Copperhill product listings were referenced from the Copperhill Technologies website.

    References and External Links

    The following sources were used to compile this report:

    1. PJRC official Teensy homepage: https://www.pjrc.com/teensy/

    2. PJRC store and technical specs: https://www.pjrc.com/store/

    3. PJRC Teensy 4.1 product page: https://www.pjrc.com/store/teensy41.html

    4. PJRC Teensy 4.0 product page: https://www.pjrc.com/store/teensy40.html

    5. SparkFun MicroMod Teensy: https://www.sparkfun.com/products/16771

    6. SparkFun MicroMod ecosystem: https://learn.sparkfun.com/tutorials/getting-started-with-micromod

    7. Teensy bootloader chip info: https://www.pjrc.com/store/ic_mkl02.html

    8. Teensyduino software: https://www.pjrc.com/teensy/td_download.html

    9. Teensy audio library: https://www.pjrc.com/teensy/td_libs_Audio.html

    10. Teensy community forums: https://forum.pjrc.com/

    11. PlatformIO Teensy support: https://docs.platformio.org/en/latest/boards/teensy/index.html

    12. Visual Micro Teensy support: https://www.visualmicro.com/page/TeensySupport.aspx

    13. Copperhill Technologies Teensy product section: https://copperhilltech.com/teensy/

    14. Specific Copperhill CAN Bus products:

    15. Teensy GitHub source repositories: https://github.com/PaulStoffregen

    16. NXP i.MX RT1062 datasheet: https://www.nxp.com/docs/en/data-sheet/IMXRT1060CEC.pdf

    17. NMEA 2000 info at Actisense: https://www.actisense.com/knowledge-base/nmea-2000/

    These references support the historical, technical, and product-specific information presented in the full Teensy microcontroller series overview and product analysis.