|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.16Teensyduino is a software add-on for the Arduino software.
A release candidate for next version of Teensyduino is available.
Teensyduino supports Arduino 0023, 1.0.3, 1.0.4 & 1.0.5.
See below for details.
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.
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 IssuesWhile 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.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.