Teensy
The Teensy USB Development Boards from PJRC is a line of small circuit boards with a microcontroller that offers a plethora of I/O pins and a USB interface. Teensy 2.0, Teensy++ 2.0 (and discontinued predecessors) use 8-bit AVR microcontrollers. Teensy 3.0 (and up) have instead Freescale microcontrollers, running ARM Cortex-M CPUs.
Especially the Teensy 2.0 has become popular for many enthusiast keyboard projects, either as a keyboard controller or a protocol converter.
Contents
Variants
AVR-based
The Teensy 2.0 sports a AVR ATMEGA32U4 8-bit microcontroller ("µC"), 16 MHz clock (16 MIPS), 25 I/O lines and a USB client port. There is also a larger variant: the Teensy++ 2.0 with a AT90USB1286 chip that has more I/O pins. The Teensy++ is not a drop-in replacement for the Teensy but similar enough that firmwares often support both with minimal code changes.
Both have Mini-USB sockets. None breaks out the USB port. They work on 5V from USB, but are able to operate on 3V if a voltage regulator is soldered to the back side. The PD6 pin is also connected to a LED.
Name | µC | RAM | Flash | EEPROM | Digital I/O |
---|---|---|---|---|---|
Teensy 2.0 | ATmega32u4 | 2.5KB | 2KB | 1KB | 25 |
Teensy++ 2.0 | AT90USB1286 | 8K | 128KB | 4K | 45 |
PJRC expects to discontinue the AVR-based Teensies in 2022, after selling out existing stocks.
ARM
The Teensy 3 series (including the Teensy LC) have Freescale microcontrollers with ARM Cortex M-series CPUs. These have so far not reached as much popularity among enthusasts because there has been a lack of compatible firmware. Some of the µC are supported by Kiibohd.
All have micro-USB port sockets and USB ports' are available as pads on the bottom. They operate at 3.3V. A few variants are capable of 5V input, but which pins vary between models.
Name | µC | MCU | RAM | Flash | EEPROM | I/O pins+pads |
---|---|---|---|---|---|---|
Teensy 3.2 | MK20DX256 | Cortex M4 72MHz | 64K | 256K | 2K | 24+10 5V-tolerant |
Teensy LC | MKL26Z64 | Cortex-M0+ 48 MHz | 8K | 62K | 27 | |
Teensy 3.5 | MK64FX512VMD12 | Cortex-M4F 120 MHz | 256K | 512K | 40+18 5V-tolerant | |
Teensy 3.6 | MK66FX1M0VMD18 | Cortex-M4F 180 MHz | 256K | 1.25M | 40+18 | |
Teensy 4.0 | NXP iMXRT1062 | Cortex-M7 600 MHz | 1MB | 2M | 24+10 |
The Teensy 3.0, 3.1, 3.2 and LC are mostly pin-compatible with one-another. The LC model is a "low cost" variant.
Teensy 3.5 and 3.6 have a large number of pins, and are also pin-compatible with one-another. The Teensy 3.6 is not 5V-tolerant.
Deprecated models
Name | Microcontroller | I/O pins | Flash |
---|---|---|---|
Teensy 1.0 | AT90USB162 | 21 | 15.5 KB |
Teensy 3.0 | MK20DX128 (Cortex M4 48MHz) | 24+10 | 128K |
Teensy 3.1 | MK20DX256 (Cortex M4 72MHz) | 24+10 | 256K |
Availability
The Teensy are available online from the original source: PJRC. They can be ordered with or without pins soldered to the board.
Multiple American sources exist, Europeans can order from online shops like Floris.cc if they want to save shipping costs.
The boards can sometimes be out of stock because of its popularity for various other types of projects, such as hacking the Playstation 3.
There are several other development boards based on the same chip, but most of them are larger in size. Atmel itself, sells reference designs with USB. There are also the popular 'Arduino boards that come in many variations. Beware that there are clones in the same form factor marketed as "Teensy", but which may or may not work in the same way - maybe because it was based on a Teensy 1.0 and not 2.0.
Usage
No special programmer circuit is needed: all programming is done through USB using a proprietary host program and bootloader.
With pins, it fits directly into breadboards, chip sockets and ribbon cable connectors without soldering. Often, no additional electronic components are needed.
Extensive documentation and libraries are available on PJRC's Teensy web site
Teensy projects
Teensy as a keyboard controller
There are DIY keyboard projects where a Teensy is used as a controller:
- The Phantom is a tenkeyless keyboard that uses the smaller Teensy 2.0 as controller chip.
- The ErgoDox is a split column-layout keyboard project with a Teensy 2.0 in one half and an I/O expander in the other half.
The "Teensies" have also been used as a controller for existing keyboard matrices, such as, when a keyboard's protocol is deprecated and/or the keyboard has been cut down into a smaller matrix. The Teensy 2.0 (with only 25 I/O lines) may be enough for a compact keyboard. Most keyboards with 101 keys or more have larger, more sparse matrices where the larger Teensy++ would be a better choice. Sparser matrices are more common in keyboards that don't have diodes, as holes in the matrix may be used to avoid blocking of certain key combinations.
Teensy as a protocol converter
- Soarer's XT/AT/PS2/IBM terminal to USB converter.[1]
- Hasu's (Apple) ADB to USB converter[2]
- Hasu's Macintosh M0100 to USB converter[3].
- Hasu's Sharp X68000 keyboard to USB converter[4]
- Hasu's PS/2 to USB converter, with NKRO, Dvorak/Colemak translation and mouse-keys.[5]
See also
- See 'What links here' to find Teensy projects in the Wiki.
- Chameleon keyboard controller
- Arduino Pro Micro
Forum threads
References
- ↑ XT/AT/PS2/Terminal to USB Converter with NKRO: article by Soarer on Deskthority's forum
- ↑ ADB to USB keyboard converter for Teensy: Article by Hasu on Geekhack.
- ↑ Macintosh M0110 USB converter: Article by Hasu on Geekhack
- ↑ SHARP X68000 keyboard converter: Article by Hasu on Geekhack
- ↑ PS/2 to USB keyboard converter for Teensy with mousekeys and NKRO: Article by Hasu on Geekhack
External links
- Teensy USB Development Board -- Teensy's official page on PJRC's web site.