Teensy

From Deskthority wiki
Jump to navigation Jump to search

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.

Variants

AVR-based

Teensy 2.0 (above) and Teensy++ 2.0 (below)

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

See also

Forum threads

References

  1. XT/AT/PS2/Terminal to USB Converter with NKRO: article by Soarer on Deskthority's forum
  2. ADB to USB keyboard converter for Teensy: Article by Hasu on Geekhack.
  3. Macintosh M0110 USB converter: Article by Hasu on Geekhack
  4. SHARP X68000 keyboard converter: Article by Hasu on Geekhack
  5. PS/2 to USB keyboard converter for Teensy with mousekeys and NKRO: Article by Hasu on Geekhack

External links