SparkFun
Teensy 4.0 (Headers)
Teensy 4.0 features an ARM Cortex-M7 processor at 600MHz, with a NXP iMXRT1062 chip, the fastest microcontroller available today. Teensy 4.0 is the same size...
Get notified when back in stock
Teensy 4.0 features an ARM Cortex-M7 processor at 600MHz, with a NXP iMXRT1062 chip, the fastest microcontroller available today. Teensy 4.0 is the same size and shape as Teensy 3.2, and retains compatibility with most of the pin functions on Teensy 3.2. The best part of this version of Teensy 4.0 is that it includes headers already attached. No soldering is required allowing you to get started as quickly as possible!
When running at 600 MHz, Teensy 4.0 consumes approximately 100mA current. Teensy 4.0 provides support for dynamic clock scaling. Unlike traditional microcontrollers, where changing the clock speed causes wrong baud rates and other issues, Teensy 4.0 hardware and Teensyduino's software support for Arduino timing functions are designed to allow dynamically speed changes. Serial baud rates, audio streaming sample rates, and Arduino functions like delay() and millis(), and Teensyduino's extensions like IntervalTimer and elapsedMillis, continue to work properly while the CPU changes speed. Teensy 4.0 also provides a power shut off feature. By connecting a pushbutton to the On/Off pin, the 3.3V power supply can be completely disabled by holding the button for 5 seconds, and turned back on by a brief button press. If a coin cell is connected to VBAT, Teensy 4.0's RTC also continues to keep track of date & time while the power is off. Teensy 4.0 also can also be overclocked, well beyond 600MHz!
The ARM Cortex-M7 brings many powerful CPU features to a true real-time microcontroller platform. Cortex-M7 is a dual-issue superscaler processor, meaning the M7 can execute two instructions per clock cycle, at 600MHz! Of course, executing two simultaneously depends upon the compiler ordering instructions and registers. Initial benchmarks have shown C++ code compiled by Arduino tends to achieve two instructions about 40% to 50% of the time while performing numerically intensive work using integers and pointers. Cortex-M7 is the first ARM microcontroller to use branch prediction. On M4, loops and other code which much branch take three clock cycles. With M7, after a loop has executed a few times, the branch prediction removes that overhead, allowing the branch instruction to run in only a single clock cycle.
Tightly Coupled Memory is a special feature which allows Cortex-M7 fast single cycle access to memory using a pair of 64 bit wide buses. The ITCM bus provides a 64 bit path to fetch instructions. The DTCM bus is actually a pair of 32 bit paths, allowing M7 to perform up to two separate memory accesses in the same cycle. These extremely high speed buses are separate from M7's main AXI bus, which accesses other memory and peripherals. 512K of memory can be accessed as tightly coupled memory. Teensyduino automatically allocates your Arduino sketch code into ITCM and all non-malloc memory use to the fast DTCM, unless you add extra keywords to override the optimized default. Memory not accessed on the tightly coupled buses is optimized for DMA access by peripherals. Because the bulk of M7's memory access is done on the two tightly coupled buses, powerful DMA-based peripherals have excellent access to the non-TCM memory for highly efficient I/O.
Teensy 4.0's Cortex-M7 processor includes a floating point unit (FPU) which supports both 64 bit "double" and 32 bit "float". With M4's FPU on Teensy 3.5 & 3.6, and also Atmel SAMD51 chips, only 32 bit float is hardware accelerated. Any use of double, double functions like log(), sin(), cos() means slow software implemented math. Teensy 4.0 executes all of these with FPU hardware.
Jargon buster
Plain-language definitions for the technical terms used above.
- ARM Cortex-M7
- A family of 32-bit microcontroller processor cores designed for fast embedded applications. Knowing a board uses Cortex-M7 helps indicate it is aimed at more demanding tasks like audio processing, robotics, and high-speed data handling rather than very simple control jobs.
- baud
- Baud is the signalling rate of a serial connection, often used as the speed setting for UART communication. Matching the baud rate matters because both connected devices must use the same setting for readable data.
- branch prediction
- A processor feature that guesses which way a program will go at an if-statement or loop so it can keep working without waiting. It helps improve performance in complex code, which is useful for real-time projects that need quick responses.
- Dynamic Clock Scaling
- A feature that lets the processor change its running speed while the program is operating. This can help balance performance, power use, and heat, especially in projects that only need full speed some of the time.
- FPU
- A floating-point unit is hardware inside a processor that speeds up calculations with decimal numbers. This helps when projects use maths-heavy tasks such as motion sensing, filtering sensor readings, or audio processing.
- Headers
- Rows of connector contacts on a fixed pitch (commonly 2.54 mm) used to link a board to a breadboard, jumper wires, or another board. They come as male pin headers and female socket headers; when a module ships with pre-soldered headers it can be used straight away, whereas bare pads require soldering the pins yourself.
- microcontroller
- A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
- NXP iMXRT1062
- A high-speed microcontroller chip from NXP's i.MX RT1060 family, built around an ARM Cortex-M7 core typically clocked at around 600 MHz. When a board lists this chip as its processor, it indicates the board's processing speed, memory and peripheral set, and which software libraries and pin features are available.
- RTC
- A Real-Time Clock keeps track of time even when the main processor is asleep or powered down, usually with a small backup battery. It matters for data logging and tracking projects that need accurate timestamps.
- SAMD51
- A family of 32-bit ARM Cortex-M4 microcontroller chips from Microchip, often used to run the main program on a development board. When a board is built around a SAMD51 it generally offers more speed and memory than basic 8-bit microcontrollers, which helps with demanding tasks such as graphics, audio or fast data handling.
- tightly coupled memory
- A block of memory connected very directly to the processor for fast, predictable access. It matters for timing-sensitive code such as audio, motor control, or data acquisition where delays from ordinary memory access can cause problems.
- VBAT
- VBAT is a backup battery power pin used to keep a small part of a circuit, such as a real-time clock, running when the main power is off. It matters if your project needs to remember the time while the board is shut down.
Find this product in
Brands
W25Q16JV-DTR Flash Memory Datasheet
Datasheet · 2.0 MB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 1.0 MB · Click any page to view full size
MIMXRT1062 DVL6B Datasheet
Datasheet · 2.6 MB · Click any page to view full size
MIMXRT1062 DVL6B Reference Manual
User Guide · 31.8 MB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Related Tutorials
Free guides on learn.littlebird.com.au