Teensy 3.0 – 32 bit Cortex-M4 48 MHz USB Development Board
Teensy 3.0, an affordable 32 bit ARM Cortex-M4 board, for development in Arduino or C/C++.
Teensy 3.0 is a small, breadboard-friendly development board designed by Paul Stoffregen and PJRC. Teensy 3.0 will bring a low-cost 32 bit ARM Cortex-M4 platform to hobbyists, students and engineers, using Arduino(R)** or programming directly in C language. Teensy 3.0 aims to greatly increase the computing capability and peripheral features.
Teensy 3.0 is about bringing much more capability to the Arduino environment, at a very affordable price, and in a tiny size that works great on breadboards and embedded inside projects. Numerous 32 bit ARM boards have appeared on the market over the last year, but most are quite difficult to use, or only work with very expensive (or crippled demo) software. Teensyduino will support Teensy 3.0 on Arduino, running on Windows, Macintosh and Linux, with the same ease-of-use as Teensy 2.0 and official Arduino(R)** products.
A 32 bit processor and more memory are only the beginning of Teensy 3.0's hardware benefits. The chip has a 16 bit A/D converter (realistically, 13 bits are usable), for much better analog input resolution than any Arduino compatible board. There's an I2S interface, which can be used to connect CD quality audio input and output.
On top of 10 PWM capable pins, the chip features 4 interval timers and 4 delay timers which do not conflict with the PWM channels, which opens up the possibility of libraries which achieve their special timing features without disabling the PWM pins, as is common with most Arduino libraries today.
The USB port features dedicated DMA (direct memory access). Teensyduino will provide a USB stack which leverages this feature to allow better USB utilization. There are also 4 other DMA channels which can be used by the other peripherals, to allow fast data transfer without taxing the CPU. Not only is the processor faster and 32 bits, but these higher bandwidth peripherals are much more efficient.
As a stand-alone platform, or together with a laptop or Raspberry Pi (where Teensy 3.0 handles timing critical I/O and analog signals), Teensy 3.0 is intended to enable all sorts of electronic projects, with exceptional ease-of-use, and at a very affordable price.
- 32 bit ARM Cortex-M4 48 MHz CPU (M4 = DSP extensions)
- 128K Flash Memory, 16K RAM, 2K EEPROM
- 14* High Resolution Analog Inputs (13 bits usable, 16 bit hardware)
- 34* Digital I/O Pins (10 shared with analog)
- 10 PWM outputs
- 8 Timers for intervals/delays, separate from PWM
- USB with dedicated DMA memory transfers
- 3 UARTs (serial ports)
- SPI, I2C, I2S, IR modulator
- I2S (for high quality audio interface)
- Real Time Clock (with user-added 32.768 crystal and battery)
- 4 general purpose DMA channels (separate from USB)
- Touch Sensor Inputs
All pins have interrupt capability.
* 14 Digital-only and 10 Analog/Digital pins are accessible around the exterior of Teensy 3.0, and available when used on a breadboard. 10 more Digital-only pins, and 4 more Analog-only pins are accessible at interior and bottom-side pads.
The main chip is Freescale's "Kinetis" K-series PK20DX128VLH5 (first batch) or MK20DX128VLH5 (later batches). Freescale has confirmed the silicon die is unchanged, only a move from low volume to high volume testing is denoted by "PK" to "MK". The number printed on the chip in the photo above differs slightly. Here is Freescale's datasheet for the chip (warning 1227 pages): http://cache.freescale.com/files/32bit/doc/ref_manual/K20P64M50SF0RM.pdf
Teensyduino is about making things easy, so you do not need to read those 1227 pages!! But if you want to dig into these technical details, you certainly can.
Teensy 3.0 features an off-chip bootloader design. On Teensy 2.0 and all Arduino(R)** brand boards, the bootloader consumes a small portion of the available flash memory. On most boards, the bootloader executes briefly before your own program. By storing the bootloader in a separate chip, your code can use all of the flash memory. Your code can also run immediately after a reset event, without bootloader interference.
The USB port on Teensy 3.0 is capable of USB host mode. A Micro-AB connector allows future use of USB host mode. Initially, Teensy 3.0 will ship with only USB device support. USB host support, integrated in the Arduino(R)** environment with easy-to-use objects, is planned as a software-only upgrade in 2013. Programming a project using USB host mode will require a second Teensy 3.0 and a board-to-board link using the I2C pins (2 wires and ground), to provide a path for the Arduino IDE to upload code.
Teensy 3.0 has support for a Real Time Clock (RTC). Teensy 3.0 has a space to solder a 32.768 kHz crystal (on the bottom side, or laying across the top of the crystal). Pins on the right side provide a place to connect a 3 volt coin cell. A pair of diodes on Teensy 3.0 allow the RTC to run either with or without the battery backup. Many projects benefit from a proper time keeping clock. On Teensy 3.0, it will be easy to add this with just a couple inexpensive parts.