skip navigational linksPJRC
Shopping Cart Checkout Shipping Cost Download Website
Home MP3 Player 8051 Tools All Projects PJRC Store Site Map
You are here: Teensy Teensyduino Download+Install

PJRC Store
Teensy 3.0, $19
Teensy 2.0, $16
Teensy++ 2.0, $24
USB Cable, $4
Teensy
Main Page
Getting Started
How-To Tips
Code Library
Projects
Teensyduino
Reference

Download Teensyduino, Version 1.13

Teensyduino is a software add-on for the Arduino software.

Teensyduino Files:Other Files:

Update:Teensyduino 1.14 release candidate #2 is available

Teensyduino supports Arduino 0023, 1.0.3 & 1.0.4.
See below for details.

Install Step 1: Download & Extract Arduino

First, you must download the Arduino Software. Remember the location where you extracted the files.

Install Step 2: (Linux only) Install udev Rules

The udev rule file gives non-root users permission to use the Teensy device. More Linux tips below.
sudo cp 49-teensy.rules /etc/udev/rules.d/

Install Step 3: Run Teensyduino Installer

The Teensyduino installer adds the necessary support files to Arduino.
On Windows, this driver allows to you access the serial device type. This step is not necessary and does not appear on Mac OS-X and Linux.
Select the location where you extracted the Arduino Software. The Next button will only activate when a supported version of the Arduino Software is found.
Teensyduino can automatically install many libraries that are tested and verified to work with Teensy.
The installer will copy all the necessary files into your Arduino Software.
When installation is finished, you will see this final screen. Just click Done to quit the installer.

Arduino 1.0 and 0023 Compatibility

Teensyduino supports Arduino 1.0, and also Arduino 0022 & 0023.

Arduino 1.0 has several changes that are incompatible with 0023 & 0022.

Teensyduino includes compatibility features to allow many sketches and libraries designed for 0023 to work on when used on 1.0. Many new 1.0 features are also back-ported to 0023 and 0022.

These compatibility features are only enabled with the Tools > Boards menu selects one of the Teensy boards. Teensyduino does not modify Arduino's behavior for Arduino boards.

0023 to 1.0 Migration Issues

While Teensyduino solves many of the common 0023 to 1.0 problems, some 1.0 changes are fundamental.

In 1.0, Serial.flush() waits until all data has been transmitted. In 0023, the flush() function discarded input. The Arduino developers decided to change this function's purpose in 1.0, but kept the same name.

Serial.print(b), where b is a "byte","unsigned char" or "uint8_t", will print as a base-10 number in 1.0. In 0023, a single byte was printed. To print a single byte in 1.0, use Serial.write(b).

The Ethernet library changed substantially in Arduino 1.0. The examples in File > Examples > Ethernet demonstrate its new features and syntax.

Libraries which use Arduino's print() function need to updated. LiquidCrystalFast, DogLCD, and LedDisplay (included with Teensyduino) are updated.

Teensyduino Revision History

Version 1.13

Support for Arduino 1.0.4

Fix Serial.write(0)

Turkish keyboard layout (Teensy 3.0)

Fix while(!Serial)

Fixes for ST7565 library (Teensy 3.0)

Add OctoWS2811 library

Update libraries: Keypad, Metro, OneWire, Ping, ST7565

Version 1.12

Support for Teensy 3.0

Version 1.11

Support for Arduino 1.0.3

Fix French keyboard layout

Version 1.10

Support for Arduino 1.0.2

Fix error message line number bug.

Add Teensy 3.0 files (arm-none-eabi toolchain is not yet in the installer, use this copy for Teensy 3.0).

Version 1.09

Support for Arduino 1.0.1

Keyboard.press() & Keyboard.release(), for compatibility with Leonardo sketches

Add descriptions for most included libraries.

Fix USB Mouse Buttons example.

Version 1.08

Support for Arduino 1.0.1-rc2

Add Flight Sim Controls USB Type

Add function keys F13 to F24 to USB Keyboard

Add Canadian Multilingual keyboard layout

Add libraries AccelStepper, AltSoftSerial, Encoder, FlexiTimer2, LowPower, Ping, ShiftPWM

Minor fixes and changes for compatibility with libraries

Version 1.07

Serial + Keyboard + Mouse + Joystick type

Raw HID available() function

Fix Ethernet library UDP support on 0022 & 0023

Windows installer: faster detection of serial driver already installed

Version 1.06

Support for Arduino 1.0

German Mac keyboard layout

(experimental) Raw HID USB type

Version 1.05

Add media keys. See File > Examples > Teensy > USB_Keyboard > MediaButtons

Improve elapsedMillis & elapsedMicros.

Fix small delayMicroseconds at 1 & 2 MHz clock.

Version 1.04

Add elapsedMillis & elapsedMicros.

Fix slight timekeeping error in millis().

Fix errors with avr-gcc 4.5 on Fedora 15 (thanks to Ward Wouts).

Version 1.03

Support Arduino 0023

More minor fixes in Print

MIDI improvements, thanks to Sebastian Tomczak & Dave Sorlien

Version 1.02

Minor fixes in Print

Support CapacitiveSensor library

Version 1.01

Support Arduino 1.0-rc2

Fix pulseIn

Fix printing negative floats

Improve Disk claim/release, add pause/resume API

Add compatibility functions for Leonardo Mouse API

Improve serial emulation on Linux

Version 1.00

Fix obscure bug in pinMode

Fix slow memory leak on Linux

Version 0.99

Support Arduino 1.0-rc1

Add more keyboard mappings

Add pushbutton examples using Bounce library

Version 0.98

Fix Ethernet on 1.0-beta4

Fix slow startup of serial monitor in Mac

Fix compile speedups for Mac and Windows

Version 0.97

Support Arduino 1.0-beta4, drop old 0018 & 0021

Fix stall of compile/upload when auto-launching Teensy Loader

Many small fixes

Version 0.96

USB Joystick type

Improved keyword coloring

(not working yet) Disk.claim() to allow using SD library with USB Disk type

Serial using Stream class

MIDI 2.6 library included

Try to avoid stalling millis() with USB Disk and heavy PC access

Several minor bug fixes

Version 0.95

Installs 3rd Party Arduino Libraries

Installs Teensy Loader

More Examples, in File > Examples > Teensy

Version 0.94

Support for Arduino version 0022

USB MIDI type added

International USB Keyboard layouts

String class bug fixes

Rework boards.txt menu syntax (requested by Arduino devs, issue #257)

Fixed Ethernet with 0021 & 0022

Version 0.9

Support for Arduino versions 0019 and 0021

USB Disk type added, supporting both SD Flash and internal flash

Fix Arduino bugs #29, #78, #209, #235

Emulate Arduino reboot behavior with Serial Monitor window is opened

Windows - directory drop-down now says "[all drives]", instead of just blank space

Compatibility with 0019, String class, improved delay(), stream class, shiftIn()

Compatibility with 0018, Tone() and noTone()

USB Serial: ignore break signal (some buggy programs send it, eg winbatch)

Windows - Teensyduino installer now included Serial driver install

USB Type and CPU Speed menus added inside Tools menu

Version 0.8B

Fix rare digitalWrite and digitalRead interference bug

Add A0, A1, A2... for analogRead(A0) - Arduino 0019 compatibility

Version 0.8

Add support for Teensy++ 2.0

Add support for Arduino 0018

Fix ethernet library

Add Serial.end() - shuts off and disconnects USB, saves power!

Automatically shut down USB when possible

Serial.begin() attempts to wait until PC/Mac has initialized USB

Add Uart.end()

Remove Teensy_Firmata - StandardFirmata branch now supports Teensy

Optimize most functions

Minor bug fixes

Version 0.7

Better error checking when installing files

Do not require rxtx lib on linux, which is removed on 64 bit systems

Fix USB Keyboard/Mouse on Teensy 1.0

Support 8, 4, 2, 1 MHz if specified in boards.txt

Use ADC in high speed mode, makes analogRead() twice as fast

Use lower power idle mode inside delay()

Minor bugs fixed

Version 0.6

Add Keyboard and Mouse board types

Add support for Teensy 2.0 (ATMEGA32U4 chip)

Add support for 0017.

Version 0.5

Add Firmata example

Add USB serial extensions to Serial

Add support for 0016.

Fix Serial.available()

Fix HardwareSerial()

Check Arduino version, do not install onto wrong version!

Version 0.4

Library fixes included, compatible with Sanguino

Add support for 0015.

Update core with improvements and bug fixes from 0012 to 0015.

Many small improvements.....

Version 0.3

Version 0.3 adds support for the Teensy++.

Pin names are now defined automatically. PIN_B0, PIN_C7, etc.

Add support for 0014 (0013 on linux because 0014 was never released on linux).

Version 0.2

Change API to use Serial.print to talk to USB.

Fix pinout

Many bugs fixed

Version 0.1

Initial release

Known Issues

All: If the serial monitor is opened immediately after an upload, the Teensy may not have been detected by the operating system yet, and the serial monitor is unable to open the device. Future versions will retry for several seconds to solve this issue.

All: Serial + Keyboard + Mouse + Joystick requires Mac OS X Lion, or Windows XP SP3, Vista SP1, or Windows 7, or Linux 2.6.18 or later. Mac Snow Leopard and Windows XP SP2 do not support Serial when combined with other types.

Windows & Linux: When using the Serial Monitor with the USB Keyboard/Mouse option, sometimes a "teensy gateway communication error" can occur. Close and reopen the serial monitor to regain communication.

Windows: You may need to run the Teensyduino installer as administrator for it to install all files. Some anti-virus programs can also interfere with installation and must be temporarily disabled. A Norton AntiVirus Workaround was sent by Carl B.

All: The Upload button can only work if your Teensy is running a previously loaded sketch. If your board can not be rebooted automatically, a message will ask you to press the reset button.

Mac OS X: When you run Arduino after installing Teensyduino, the Leopard's firewall will recognize the program has changed and will ask again if you wish to allow internet connection (Arduino checks for updates). Teensyduino does not "phone home", but Arduino does! TODO: is this still an issue with recent versions of Arduino??

Linux: By default, the teensyduino.32bit and teensyduino.64bit files will not have execute permission enabled when saved by most web browsers. Use a file manager or type "chmod 755 teensyduino.32bit" in a terminal to make the file executable. Then you can run it. In a terminal, type "./teensyduino.32bit". Replace "32" with "64" if using the 64 bit version.

Linux: Teensyduino only works with Arduino from www.arduino.cc. The modified version provided by Ubuntu is not (yet) supported.

Linux (especially Gentoo): Arduino uses the AVR toolchain provided by your system. As of December 2011, Gentoo's avr-gcc is horribly broken. Some newer Fedora (avr-gcc 4.6.x) also have trouble. Faulty AVR toolchains are a persistent problem on Linux.

Please report bugs to paul@pjrc.com

Credits

The Teensyduino installer is based in part on the work of the FLTK project (http://www.fltk.org).

Numerous files covered by various open source licenses are installed by Teensyduino. Nearly all are provided in source code form. Please refer to the comments within each file for copyright and licensing information.

Files installed in compiled binary format that are based on code licensed under the GNU General Public License have their corresponding source code installed in a "src" directory. On Macintosh, use control-click on Arduino and select "Show Package Contents" from the menu.