The Teensy USB Development Board by PJRC is a line of small inexpensive circuit boards with a microcontroller that offers a plethora of I/O pins and a USB interface.
The Teensy version 2.0 has become popular for many enthusiast keyboard projects, either as a keyboard controller or a protocol converter.
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 lines.
The Teensy 3.0, Teensy 3.1 and Teensy LC have Freescale microcontrollers with ARM Cortex M-series CPUs. The LC model is a "low cost" variant that is (mostly) pin-compatible with the Teensy 3.1. These have so far not reached as much popularity because there has been a lack of compatible firmware.
The Teensy 3.0 is still (as of May 4, 2015) available from PJRC but not recommended for new projects.
|Teensy 1.0||AT90USB162||21||15.5 KB|
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.
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 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.
- Hasu's (Apple) ADB to USB converter
- Hasu's Macintosh M0100 to USB converter.
- Hasu's Sharp X68000 keyboard to USB converter
- Hasu's PS/2 to USB converter, with NKRO, Dvorak/Colemak translation and mouse-keys.
- See 'What links here' to find Teensy projects in the Wiki.
- Chameleon keyboard controller
- Arduino Pro Micro
- 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
- Teensy USB Development Board -- Teensy's official page on PJRC's web site.