|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|
Download Teensyduino, Version 1.24Teensyduino is a software add-on for the Arduino software.
Teensyduino 1.24 supports Arduino versions 1.0.6 and 1.6.1 and 1.6.3 and 1.6.4 and 1.6.5.
We do not recommend Arduino 1.6.4, due to this bug. Future Teensyduino versions may drop Arduino 1.6.4 support.
Install Step 1: Download & Extract ArduinoFirst, you must download the Arduino Software. Remember the location where you extracted the files.
Install Step 2: (Linux only) Install udev RulesThe 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 InstallerThe Teensyduino installer adds the necessary support files to Arduino.
Teensyduino Revision History
Version 1.24Support for Arduino 1.6.5
Optimize Serial.print() and micros() on Teensy-LC
Update Snooze, ADC and i2c_t3 libraries
Several very minor bug fixes
Version 1.23Support for Arduino 1.6.4
Improve Wire library, handle Lidar Lite issues
Add SerialFlash library
Optimize SD library for Teensy 3.x (SD_t3.h, disabled by default)
Default Systick interrupt to priority level 32
Fix 24 MHz speed on Teensy 3.1
Fix RawHID on Teensy 2.0 with newer Arduino version
Update Time library
Update i2c_t3 library, adds support for Teensy-LC
Update OSC library
analogWriteFrequency() now allow precise sub-1 Hz input
Fix SPI FIFO bug in ILI9341_t3
Fix delay() and micros() bug at startup on Teensy-LC
Version 1.22Support Arduino 1.6.2 and 1.6.3
Update EEPROM and OneWire libraries
Add ADC and i2c_t3 libraries
Fix USB flightsim on Teensy-LC
Fix SPI.transfer16 & support SPI1 on Teensy-LC
Fix String(unsigned char) on Teensy 2.0
Add Serial.availableForWrite() on Teensy 2.0
Fix printing of long integers on Teensy 2.0
Improve USBtoSerial example
Fix harmless but annoying compiler warnings
Version 1.21Support for Teensy-LC
Support Arduino 1.6.0 and 1.6.1
Keep Arduino Serial Monitor window open during Upload (Arduino 1.0.6, 1.6.0, 1.6.1)
Improve Arduino Serial Monitor efficiency & memory usage (Arduino 1.0.6)
Tools > CPU Speed menu supports speed vs size optimized (Teensy 3.1 & LC)
Update sample Makefile for non-Arduino usage
Simplify usb_desc.h for creating custom USB devices
Libraries added: Adafruit_VS1053, FastCRC, openGLCD, Snooze, TFT_ILI9163C
Libraries updated: Adafruit_CC3000, Adafruit_NeoPixel, Adafruit_SSD1306, Adafruit_ST7735, FastLED, FreqCount, FreqMeasure, ILI9341_t3, IRremote, MsTimer2, OctoWS2811, OneWire, PS2Keyboard, PulsePosition, Time, TimerOne, TimerThree, TinyGPS
Upgrade ARM Toolchain from 4.7.2 to 4.8.4.
Various minor bug fixes
Version 1.20Support Arduino 1.0.6
Add libraries: Audio, FlexCAN, Adafruit_CC3000, SPIFlash, RadioHead, FastLED, Adafruit_ILI9341, ILI9431_t3, Artnet
Update libraries: Adafruit_NeoPixel, OctoWS2811, Time, Adafruit_SSD1306, Adafruit_ST7735, ShiftPWM
Libraries ported to Teensy 3.x: AltSoftSerial, CapacitiveSensor, FlexiTimer2, FreqCount, FreqMeasure, FrequencyTimer2, MsTimer2, ShiftPWM, TimerOne, TimerThree, Tlc5940
Libraries ported to use SPI transactions: SD, Ethernet, Adafruit_CC3000, Adafruit_ILI9341, Adafruit_STMPE610, RadioHead
Add SPI Transactions
Add DMAChannel & DMASetting objects
Add serialEvent (usb serial) & serialEvent# (hardware serial)
Add Serial.availableForWrite() & Serial#.availableForWrite()
Use Serial2 FIFO on Teensy 3.1
Add transmitterEnable() on Serial2 & Serial3
Fix analogWriteFrequency on Teensy 3.1 pins 25 & 32
Add Installer Directory Help Button
Fix strncpy_P on Teensy 3.x
Add Czech keyboard layout to menu
Add yield() function on Teensy 2.0
Add IntervalTimer priority()
Don't mix CPU speed setting switching from Teensy 2.0 to 3.x
Add FASTRUN, for functions in RAM on Teensy 3.x
Interrupt vector table moved to RAM for Teensy 3.x
Optimize Teensy 3.x hardware register definitions
Serial port names added to pins_arduino.h
Fix ARM toolchain linker & zlib issue (thanks to Andrew Kroll)
Add AVR emulation for util/parity.h
Version 1.19Add support for 72 MHz on Teensy 3.1
Fix relative positioning on Teensy 3.x USB mouse (now has hybrid relative+absolute)
Add more AVR emulation on Teensy 3.x: wdt.h, crc16.h, sleep.h, EMISK
Fix USB Serial break on Teensy3 (needed by some Labview applications)
Fix USB endpoint read with no data (thanks nox771)
Add USB MIDI SysEx callback (thanks pcbeard)
Workaround for auto-reboot problems on Teensy 2.0 when using watchdog
Fix initialization of local static vars from non-const data on Teensy 3.x
Make all Teensy 3.1 HardwareSerial functions virtual (fixes issue with pointers to objects)
Add extra zero to USB serial number, works around a Macintosh CDC driver bug
Add Kinetis register definitions: DMA bits, VREF bit, ADC PGA, DMA priority registers
Fix IRQ_PRIORITY hard-coding in Serial3
Fix lockup in AVR emulation of SPI.setDataMode(SPI_MODE0)
Fix lockup in AVR emulation of TWBR when running at 24 MHz
Fix rare lockup in repeated Wire.begin() on Teensy 3.1
Update DS1307 library with workaround Arduino Due names.
Update Entropy library, now fully compatible with Teensy 3.x.
Add Teensy 3.1 slow clock options, 2, 4, 8 & 16 MHz... thanks for all the help Duff
Add overclocking code (not enabled by default) for Teensy 3.x at 120, 144 & 168 MHz
Minor Makefile improvement (Matthias Lohr)
Aesthetic source code cleanup
Drop Teensy 1.0 support
Version 1.18Fix compile errors in several Arduino libraries with Teensy 3.1
Fix OctoWS2811 on Teensy 3.1
Keep unused native SPI chip selects high (disabled), Teensy 3.0 & 3.1
Speed up SD library
Fix upload > 128k on Teensy 3.1
Update Windows driver, fix Serial+Keyboard on Windows 8
Fix __cxa_guard errors on Teensy 2.0
Add missing DMA & PGA & other register definitions for Teensy 3.1
Add Serial1.transmitterEnable(pin) for RS-485 applications
Fix startup issue impacting Neopixel library on Teensy 3.1
Fix analogRead(39) (1.2V ref) on Teensy 3.1
Improve Teensy3 early startup hook, thanks to Anbroz Bizjak
Fix Arduino IDE library conflicts, Adafruit_GFX vs Robot libs
Mouse wheel support for scrolling long menus in Arduino IDE on Windows & Linux
Teensyduino version can be seen in Arduino's Help > About screen
Version 1.17Support for Teensy 3.1
Ethernet library support for W5200 chip
Print speedup for Teensy2
analogRead is now thread safe on Teensy3
Keep USB & serial working in Teensy3 fault condition
Support interrupt priority levels on Teensy3
Serial1 on Teensy3 to transmit even if interrupt blocked
Fix Teensy3 USB buffer memory leak with re-enumeration
USB Mouse on Teensy3 now uses absolute cursor positioning,
Mouse.moveTo(x, y) and Mouse.screenSize(width, height)
USB Keyboard on Teensy3 supports media keys (Mac & Linux only)
Add missing AVR string _P functions on Teensy3
Add missing AVR eeprom functions on Teensy3
Improve Serial1, Serial2, Serial3 buffer size configuration on Teensy3
Fix to Teensy3 Makefile
USB MIDI example improved
Stream printf, eg: Serial.printf()
Add missing new/delete
Added SPIFIFO for Teensy3
Ethernet library speedup (using SPIFIFO)
Hardware serial support for other data formats, 7E1, 8N2, etc
9 bit serial format (not enabled by default)
Czech keyboard layout (not enabled by default)
Fix Keyboard.releaseAll() on Teensy3
Fix USB MIDI setHandlePitchChange on Teensy2
Fix arm math lib warnings
Fix digital signatures for Windows exe files
Removed ancient Arduino 0023 support
Windows USB Serial driver signature (should now install on Windows 8 without reboot)
Windows Installer signature
Windows Installer tries to find Arduino and automatically select its location
Version 1.16SPI library can assign alternate Teensy3 pins: setMOSI, setMISO, setSCK.
Reduce Teensy 3.0 power consumption while not uploading.
Improve Teensy 3.0 upload on Macintosh.
Avoid erasing EEPROM during Teensy 3.0 upload.
Version 1.15Fixed Serial2 and Serial3 regression on Teensy 3.0.
Fixed USB MIDI sendProgramChange on Teensy 3.0.
Add ARM math library for Teensy 3.0.
Teensy Loader now recognizes ARM elf format, will not accidentally program Teensy 3.0 code to a pre-3.0 board.
Teensy Loader version number is now in sync with Teensyduino version.
Fix stall when connected to a Raspberry Pi that reboots
Add float number support to String
Add String remove()
String now formats unsigned char as a number, same as Print.
Add AVR pin number constants
Added open source license to Teensy3 core library files
Updated Firmata library
Fix USB product name customization header
Reduce USB memory usage
Emulate AVR's TWBR register on Teensy 3.0
Fix single-quote key for USB Keyboard on German and French Canadian layouts
Version 1.14Updated Time library. "atime_t" on Teensy 3.0 changed back to "time_t". Date strings fixed on Teensy 3.0. NTP and GPS sync examples updated for Arduino 1.0.4. Many other fixes and improvements to the Time library examples.
Added DS1307RTC and TimeAlarms libraries (companions to Time library).
Linux select-paste supported (Arduino 1.0.4 and later, Linux only)
Added "Copy To Clipboard" button for compile errors (Arduino 1.0.4 and later)
Turkish keyboard layout special keys supported for USB keyboard.
Fixed Ethernet DNS client bug on Teensy 3.0.
KEY_MENU name added for the menu key.
Memory tuning parameters (heap_start, heap_end, malloc_margin) supported on Teensy 2.0.
Fix compile error on Teensy 2.0 with ps2dev library.
Fix F() macro "const" when used with newer versions of avr-gcc.
Added DDR registers and pullup resistors to AVR port register emulation on Teensy 3.0.
Optimized Serial1.write(buffer, length) on Teensy 3.0.
Added IntervalTimer to Teensy 3.0 - Thanks to Daniel Gilbert
Added compiler defines to example makefile, for compatibility with Arduino libraries
Added cxa_guard_acquire / cxa_guard_release needed for some Ethernet library applications
Fixed brief glitch at the beginning of analogWrite()
Round analogWriteFrequency() to the nearest possible frequency
Fix micros() bug on Teensy 3.0 when read while interrupts disabled.
Fix IPaddress Printable usage on Teensy 3.0
Fix Serial1 on Teensy 3.0 when more than 8 bytes written with interrupts disabled.
Optimize Serial1 FIFO handling on Teensy 3.0, for dramatically less CPU time per byte.
Convert tone() on Teensy 3.0 to use IntervalTimer.
Use serial number for all USB types on Teensy 3.0.
Remove MIDI message names which conflict with MIDI 3.2 library.
Allow override of USB manufacturer, product and serial strings on Teensy 3.0. See usb_names.h.
Add makeWord() to Teensy 3.0.
Fix buffer overflow in String + long integer concatenation on Teensy 3.0.
Update AccelStepper library.
Update Encoder library - now supports interrupts on all Teensy 3.0 pins.
Update PS2Keyboard library - French keymap, readUnicode() function, Teensy 3.0 interrupt support.
Update TinyGPS library
Support for Arduino 1.0.5.
Optimize Serial.readBytes(), both Teensy 2.0 and 3.0.
Optimize Serial.available() on Teensy 3.0.
Added IntervalTimer destructor.
Added String c_str() function.
Removed ArdOSC library.
DmxSimple library support for Teensy 2.0 and 3.0 (previously only Teensy++ 2.0 worked)
Fixed FastSPI compile problem on Teensy 2.0 and Teensy++ 2.0.
Update MIDI library to version 3.2.
Fixed error highlighting when using Teensy 3.0.
Improved recompile speed when Arduino is installed in a location with space in the pathname.
Improved automatic initialization of the Teensy 3.0 RTC, when a 32.768 kHz crystal is present.
Fix SD + Ethernet library compatibility on Teensy 3.0.
All 4 IntervalTimer objects usable on Teensy 3.0.
Fix off-by-one bug in delay() on Teensy 3.0.
Enable I/O after wakeup from lowest power stop mode on Teensy 3.0.
Fix analogInputToDigitalPin() on Teensy++ 2.0.
Added OSC (Open Sound Control) library
Updated VirtualWire library to 1.15 and support Teensy 3.0
Updated SoftPWM library to 1.5 and support Teensy 3.0
Updated XBee library to 0.4.
Added partial SoftwareSerial for Teensy 3.0. If the pins match one of the real serial ports, hardware serial is used. This allows use of libraries that are hard-coded for SoftwareSerial. If non-serial pins are specified, only transmit works. Software-based receive is not yet supported (but planned for a future release)
Version 1.13Support for Arduino 1.0.4
Turkish keyboard layout (Teensy 3.0)
Fixes for ST7565 library (Teensy 3.0)
Add OctoWS2811 library
Update libraries: Keypad, Metro, OneWire, Ping, ST7565
Version 1.12Support for Teensy 3.0
Version 1.11Support for Arduino 1.0.3
Fix French keyboard layout
Version 1.10Support 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.09Support 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.08Support 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.07Serial + 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.06Support for Arduino 1.0
German Mac keyboard layout
(experimental) Raw HID USB type
Version 1.05Add media keys. See File > Examples > Teensy > USB_Keyboard > MediaButtons
Improve elapsedMillis & elapsedMicros.
Fix small delayMicroseconds at 1 & 2 MHz clock.
Version 1.04Add elapsedMillis & elapsedMicros.
Fix slight timekeeping error in millis().
Fix errors with avr-gcc 4.5 on Fedora 15 (thanks to Ward Wouts).
Version 1.03Support Arduino 0023
More minor fixes in Print
MIDI improvements, thanks to Sebastian Tomczak & Dave Sorlien
Version 1.02Minor fixes in Print
Support CapacitiveSensor library
Version 1.01Support Arduino 1.0-rc2
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.00Fix obscure bug in pinMode
Fix slow memory leak on Linux
Version 0.99Support Arduino 1.0-rc1
Add more keyboard mappings
Add pushbutton examples using Bounce library
Version 0.98Fix Ethernet on 1.0-beta4
Fix slow startup of serial monitor in Mac
Fix compile speedups for Mac and Windows
Version 0.97Support Arduino 1.0-beta4, drop old 0018 & 0021
Fix stall of compile/upload when auto-launching Teensy Loader
Many small fixes
Version 0.96USB 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.95Installs 3rd Party Arduino Libraries
Installs Teensy Loader
More Examples, in File > Examples > Teensy
Version 0.94Support 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.9Support 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.8BFix rare digitalWrite and digitalRead interference bug
Add A0, A1, A2... for analogRead(A0) - Arduino 0019 compatibility
Version 0.8Add 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
Remove Teensy_Firmata - StandardFirmata branch now supports Teensy
Optimize most functions
Minor bug fixes
Version 0.7Better 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.6Add Keyboard and Mouse board types
Add support for Teensy 2.0 (ATMEGA32U4 chip)
Add support for 0017.
Version 0.5Add Firmata example
Add USB serial extensions to Serial
Add support for 0016.
Check Arduino version, do not install onto wrong version!
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.3Version 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.2Change API to use Serial.print to talk to USB.
Many bugs fixed
Version 0.1Initial release
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 firstname.lastname@example.org
CreditsThe 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.
The ARM toolchain source code (with PJRC's patches) is available on GitHub.