Download Teensyduino, Version 1.59

Arduino 2.x.x Software Development

First download the Arduino 2.x.x IDE from Arduino's website. All versions 2.0.4 and later are supported. Versions 2.3.0 or later are recommended, due to improvements in Boards Manager.

To install Teensy on Arduino IDE 2.x, click File > Preferences (on MacOS, click Arduino IDE > Settings). In "Additional boards manager URLs", copy this link:

In the main Arduino window, open Boards Manager by clicking the left-side board icon, search for "teensy", and click "Install".

Windows: If you get precompile_helper: file does not exit, close any open Teensy Loader window, then use Boards Manageer to remove and install Teensy 1.59.0.

Stand Alone Files

Arduino 1.8.x Software Development

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

Teensyduino 1.59 supports Arduino versions 1.8.5 and 1.8.9 and 1.8.13 and 1.8.15 and 1.8.16 and 1.8.19.
Future versions of Teensyduino will drop support for Arduino 1.8.15
Arduino 2.0.4 and later are supported by use of Arduino Boards Manager.
On Windows, the Arduino installer and ZIP are supported, but the Windows store "app" is not.
Windows 10 & 11 provide much better USB support than Windows 7, 8 & XP.
On Linux, PJRC tests X86 & AARCH64 on Ubuntu and ARM32 on Raspbian. Other distros may work, but are not supported.

Windows Installation

  1. Download and run Arduino's Windows Installer, for Windows 7 and up.
    Note: The Arduino "Windows app" from the Microsoft Store is incompatible with Teensyduino.
  2. Download and run the Teensyduino installer.
  3. (optional) Check for anti-virus performance problems.

Macintosh Installation

  1. Download Teensyduino "Macintosh Complete Software".
    Note: This download is a complete copy of all software. No separate installer is used.
  2. On first use, you must allow access to your Documents folder.
  3. (optional) If using multiple monitors, uninstall old Java if the software crashes.

Linux Installation

  1. Download the Linux udev rules (link at the top of this page) and copy the file to /etc/udev/rules.d.
    sudo cp 00-teensy.rules /etc/udev/rules.d/
  2. Download and extract one of Arduino's Linux packages.
    Note: Arduino from Linux distro packages is not supported.
  3. Download the corresponding Teensyduino installer.
  4. Run the installer by adding execute permission and then execute it.
    chmod 755 TeensyduinoInstall.linux64

Windows Non-Admin Installation

  1. Download Arduino's Windows ZIP file for non admin install.
  2. Extract the ZIP file, and remember the extracted location.
  3. Download the Teensyduino installer. Save the file, do not run.
  4. Rename TeensyduinoInstall.exe to Teensyduino.exe.
    Note: Removing "Install" from the name causes Windows to treat the installer differently!
  5. Run the renamed Teensyduino installer. You will need to select the extracted Arduino location.
  6. (optional) Check for anti-virus performance problems.

Old Macintosh Installation

  1. Download Arduino 1.8.5 from Arduino's Previous IDE Releases Page.
  2. Move Arduino to Applications.
  3. Run Arduino and confirm running software downloaded from the internet.
    Note: This must be done before installing Teensyduino, to avoid a corrupted install.
  4. Download and run the Teensyduino Installer. It only works on MacOS versions 10.7 to 10.14.

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

Windows: Windows Defender and many anti-virus programs can dramatically slow down code compilation. A modern PC should take less than 10 seconds to verify simple programs. If Arduino takes 1 minute or longer to verify simple programs, that is a sure sign anti-virus software is slowing you down.

Configuring Windows Defender so that it does not check intermediate Arduino build folders & products (to keep it from slowing down the build).

1) Open Windows Defender
2) Click on "App & browser control"

3) Click on "Exploit protection settings"

4) Click on "Program settings"

5) Click on "Add program to customize" & specifically select "Choose exact file path"

6) Navigate to the location where your Arduino IDE is installed (typically "C:\Program Files (x86)\Arduino"), highlight the "arduino.exe" executable & click "Open"

7) Activate the "Override system settings" checkbox for every option & verify that they are all turned off (make sure to scroll down the list to get everything)

8) Click "Apply" to complete the process.

Special thanks to Mark J Culross (KD5RXT) for contributing these Windows Defender instructions.

Macintosh: Teensyduino requires access to your Documents folder, because Arduino stores installed libraries and boards in Documents/Arduino. If you have disallowed access to Documents, Teensyduino may fail to open. To solve this problem, open System Preferences, click Security & Privacy, and select Files and Folders. Then find Teensyduino on the list of applications which have requested access to your Documents Folder. This box must be checked for Teensyduino to work.

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 TeensyduinoInstall.linux32 and TeensyduinoInstall.linux64 files will not have execute permission enabled when saved by most web browsers. Use a file manager or type "chmod 755 TeensyduinoInstall.linux32" in a terminal to make the file executable. Then you can run it. In a terminal, type "./TeensyduinoInstall.linux32". Replace "32" with "64" if using the 64 bit version, or "arm" if using the ARM (Raspberry Pi) version.

Linux: Teensyduino only works with Arduino from 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 on this forum. Try to include enough information to reproduce the problem.


The Teensyduino installer is based in part on the work of the FLTK project (

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.

The ARM toolchain source code (with PJRC's patches) is available on GitHub.