Download and Install Teensy support into the Arduino IDE (2023)

from wiring.h, allowing faster compile for most C++ code

precompile Arduino.h, allows some speedup of rebuild all

update core library, Wire, Audio, Bounce to use precompile Arduino.h

Reduce startup delay from 400 ms to 300 ms

fix teensy_serialmon asser of DTR on Windows, fixes (bool)Serial

(bool)Serial to use DTR only, fixes Serail remaining true after serial monitor close

fix truncated usbmodem names in Ports menu on Macintosh

Verbose info log now uses high res time on Windows 8 & 10

Verbose info log users 1ms res time on Windows XP & 7 (was 16 ms & 10 ms)

Fix Verbose info random order for same timestamp events - now always chronological

Add numbering of non-loader verbose logging instances

Trim excessive verbose logging of status communication

Updates to audio library documentation

Add Teensy Loader about dialog icon (was generic info icon)

Teensy 3.5 now supports use of 256K RAM

EthernetClient fix for forced connection close

Small speedup to analogWrite for DAC pins

Fix DMAChannel transferSize() on Teensy LC

Fix FTM_CONF register bitfield defs

Update ADC library (Pedro Villanueva)

Audio: Add freeverb mono & stereo

Audio: Granular pitch shift & freeze effects (Bleep Labs)

Audio: envelope status functions

Audio: Fixes to waveform object

Audio: Add variable triangle waveform

Audio: Add modulated waveform, support for freq & phase modulation

Audio: Add simple amp/switch object

Audio: Add PDM input

PS2Keyboard: add UK & Spanish layouts

TimeAlarms: minor fixes

USBHost_t36: Joystick fixes (KurtE)

Macintosh build now uses 64 bits

Fix Teensy 3.5 stack address (thanks Frank)

Better detection of Teensy model in Ports menu

Audio: fix WM8731 input select

Improve multiple instance check in teensy_ports

Add -L option to teensy_ports (intended for PlatformIO)

Treat "narrowing conversion" as compiler warnings, not errors

Fix product ID for Flightsim+Joystick USB type

Audio: allow WAV files with extra/junk sections before "fmt" info

Ethernet: document Ethernet.init(cspin) in all examples

OctoWS2811: Fix timing problem on Teensy 3.5

USBHost_t36: Fix clobbering of pipe config on endpoint size change

USBHost_t36: Improve enumeration of Multi-TT hubs

Handle attempt to reopen serial port, clicking button while Arduino compiles

Windows: teensy_serialmon detect orphaned from Arduino IDE condition

Avoid unnecessary delays when upload can't find any board

Print more informative messages about selecting board in Tools > Ports

Added ARM 64 bit experimental installer

Version 1.41

Add IntervalTimer update()

Ethernet fix socket receive state caching bug

Ethernet improve handling of unexpected remote server disconnect

SD fix timeouts

SPI pin changes kept in sync with AVR SPI emulation

SPI avoid interfere with pin 45

Wire force recovery from stuck slave devices

Wire improve detection of arbitration loss to other bus masters

Add AudioConnection disconnect() (thanks b0rg3rt)

Update platform.txt for compatibility with Arduino 1.9 beta

Fix serial stall if higher than maximum baud rate configured

Improve delayMicroseconds on Teensy 2.0 (Graham)

Fix SERIAL_8N2 mode on Teensy LC

Update sample Makefile

Add abort() function, needed for Pozyx library

Update keywords for Serial formats & USB Keyboard special keys

Improve AVR SPI register emulation, speed bits

Fix tone() issue when 0 Hz requested, minimum is 1 Hz

Fix Teensy LC DMAChannel bug (thanks kbob)

Audio add ADAT output (thanks Ernstjan Freriks)

Audio fix RMS analysis when no data

Audio ToneSweep improvements (thanks Pio)

Audio design tool custom name bug fixed (thanks neurofun)

Audio modulated sine amplitude when no mod signal fix (thanks neurofun)

Audio library documentation updated, several minor errors fixed

FastLED updated to support WS2812Serial

Time library minor updates & fixes

i2c_t3 library updated

OctoWS2811 fix on Teensy 3.5

OctoWS2811 remove unnecessary delay

OctoWS2811 improve setPixel speed (thanks sgorsh)

USBHost_t36 support for CDC-ACM, PL2303 & CH341 serial (thanks KurtE)

USBHost_t36 support for RawHID (thanks KurtE)

USBHost_t36 support for Xbox One controller (thanks KurtE)

USBHost_t36 improve keyboard & joystick support (thanks KurtE)

USBHost_t36 fix USB MIDI fast data input

USBHost_t36 Ant+ wireless adaptor support (adapted from Michael McElligott)

USBHost_t36 access to device ID and name (thanks KurtE)

XPT2046_Touchscreen detect touch by interrupts (thanks Donziboy2 & Defragster)

Accept String in Stream find() and findUntil()

Update LedDisplay library

USBHost_t36 Fix device status functions usage in polling loops

USBHost_t36 Clean up bandwidth usage info when deleting a pipe

USB MIDI support for virtual cables (select from Tools > USB Type menu)

USB MIDI updated with most functions of Arduino MIDI lib 4.3.1

USB MIDI getType() now returns same as MIDI 4.3.1 -- NOT BACKWARDS COMPATIBLE

Support for compatibility with Arduino's MIDIUSB.h

Added more examples in File > Examples > Teensy > USB_MIDI

USBHost_t36 MIDI support for virtual cables

USBHost_t36 MIDI updated with most functions of Arduino MIDI lib 4.3.1

USBHost_t36 MIDI returns same as MIDI 4.3.1 -- NOT BACKWARDS COMPATIBLE

USBHost_t36 MIDI fix for devices using interrupt endpoints

USBHost_t36 MIDI workaround for devices sending improperly coded sysex message

XPT2046_Touchscreen add setRotation()

FreqMeasureMulti fixed on Teensy LC (thanks Manitou)

USB MIDI & USBHost_t36 MIDI pitch bend using signed integer -- NOT BACKWARDS COMPATIBLE

USB MIDI & USBHost_t36 Fix receiving some MIDI sysex messages

USB MIDI add Interface_3x3 example

USBHost_t36 fix MIDI getType for note off messages

USBHost_t36 add MIDI Interface_16x16 example

Adafruit_SSD1306 uses 400 kHz in I2C mode

USBHost_t36 Joystick improvements, More Axis, Rumble, LEDs (KurtE)

Libs updated: FastLED, Adafruit_NeoPixel, Adafruit_GFX

Libs removed: NewPing

Add USB MIDI Many_Knobs_Buttons example (oddson)

Version 1.40

Support for Arduino 1.8.5

USBHost_t36: HID parsing, improved Mouse driver, new Joystick driver, hub driver fixes, idVendor() & idProduct() functions, keyboard improvements (Kurt)

Audio: fix stereo DAC right channel bug, fix DAC clipping overflow issue, fix FFT256 with LTO optimize (Frank)

Updated: Snooze, FastCRC, i2c_t3, TinyGPS, TeensyThreads

Fix systick hang when yield() overridden

Show warning for certain counterfeit boards, but still allow upload

Linux Teensy Loader now uses udev to find USB devices

Fix delay when uploading on Linux

Fix missing upload error messages in newer Arduino

Fix race condition causing "Teensy Loader is unable to read your compiled sketch (r)"

Version 1.39

Fix IntervalTimer compile error on Teensy LC

Use gnu++11 on Teensy 2.0 (was c++11)

Stream find functions now take const pointers on Teensy 2.0

Update Print class for Teensy 2.0

Don't redefined BYTE (for ancient Arduino compatibility) if already defined

Add pgmspace.h (no avr prefix) for ESP2866 compatibility

Support AVR pgm_read_ptr() on Teensy LC & 3.x

Fix srandom conflict

Updated libs: Adafruit_NeoPixel, openGLCD, Snooze, TFT_ILI9163C

Fix compiler warnings & improved error messages: EEPROM, Adafruit_CC3000, Adafruit_GFX, Adafruit_ILI9340, Adafruit_ILI9341, Adafruit_RA8875, ADC, FastCRC, FrequencyTimer2, i2c_t3, ILI9341_t3, IRremote, Keypad, ks0108, LowPower, OctoWS2811, OneWire, openGLCD, OSC, PulsePosition, RA8875, SerialFlash, SoftPWM, ssd1351, ST7565, Talkie, Time, TimerOne, TinyGPS, Tlc5940, x10

Raspberry Pi builds with 2017-07-05-jessie (previous builds were on 2014-12-24-wheezy)

Version 1.38

Support for Arduino 1.8.4

Use C++14 on 32 bit Teensy boards

Fix Wire lib with fastest optimize and >120 MHz CPU speed

Wire emulate AVR twi_writeTo - for Adafruit compatibility

(Video) Installing Arduino and Teensyduino on Windows

Wire1 support pins on Teensy 3.5 & 3.6 SD socket (if not using SD card)

Fix install problem on Arduino 1.0.6

Fix analogReadAveraging with ADC1

Allow more memory for audio library on Teensy 3.5 & 3.6

Fix audio library delay effect on Teensy 3.5 & 3.6

Audio I2S uses 64 bit frame, improve compatibility with I2S mics

Fix OctoWS2811 seldom-used color conversion options

Add pure code choices in Tools > Optimization

USBHost_t36 improved handling of error & pipe stall

fix for disable of SD on Teensy 3.5 & 3.6 (Frank)

SPI.transfer(readbuf, writebuf, size) (KurtE)

Added TeensyThreads library (Fernando Trias)

Fixed Adafruit_CC3000 on Teensy 3.x

Audio envelope graceful handling of noteOn while gain > 0

Improved FreqMeasureMulti countToNanoseconds

[Experimental] EventResponder

[Experimental] MillisTimer

[Experimental] SPI async using DMA & EventResponder (KurtE)

Remove 2.5 second wait in Serial.begin

USBHost_t36 mouser driver (wwatson)

Update Adafruit_CC3000, AccelStepper, Adafruit_GFX, Adafruit_SSD1306, FastLED, IRremote, Keypad, MFRC522, SoftPWM, SPIFlash

Symbol table and disassembly listing are placed in temp build folder

Fix audio memory usage stats when more than 255 blocks allocated

Fix USB audio transmit with null data

Audio library support for external delay with CY15B104 (FrankB)

Version 1.37

Support for Arduino 1.8.3

Drop Arduino 1.6.12 & 1.6.13 support

Fix SD library larger than 64K read/write

SPI lib - unified SPIClass, constexpr

Wire lib - constexpr

Use gnu++11 for 32 bit Teensy

MTP fixes

add MTP Disk to USB Type menu

Print, Stream, Serial, Serial# use constexpr

analogWriteResolution returns prior setting

add missing kinetis.h register defines

availableForWrite & flush in Print class

map() improvements - now works with float & double

fix exp10 and stricmp

Audio: improved envelope, added TDM, Waveshaper, PWM Synth, CS42448, fix I2S slave

FastLED fixes

Update MIDI to latest version

Fix PS2Keyboard

Tlc5940 fixes

XPT2046_Touchscreen interrupt fix on non-Teensy boards

Fix auto-reboot on Windows 10 rev 1703 (Creator's Update)

Fix FastLED with OctoWS2811 on Teensy 3.6

Improve min() max() for C++ compatibility (tni)

Fix analogWrite to DAC with LTO (tni)

Fix DMAChannel repeated transferCount (KurtE)

Fix DMAChannel alignment on Teensy LC (tni)

Fixes to OctoWS2811, solve "first pixel" issue on Teensy 3.2

Fix SPI SCK (pin 13) drive strength (KurtE)

Increase USB Serial.begin() wait for serial monitor

Fix Audio SD WAV play status with LTO optimization

Teensy Loader window movable by clicking in center area

Support "Clear output" button in Arduino 1.8.3 serial monitor

Version 1.36

Support for Arduino 1.8.2

Update ARM toolchain to gcc 5.4

Add more optimization choices (including LTO) to Tools > Optimize

Ethernet socketBeginMulticast (manitou)

Fix IntervalTimer on Teensy 3.5

Wire library supports Wire1, Wire2

Wire library timeouts for error conditions

Libraries updated: AccelStepper, ADC, Audio, FastLED, LedDisplay, RadioHead, ShiftPWM, Snooze, SPI, TouchScreen, Wire

Libraries added: USBHost_t36

Minor improvements to AVR emulation

Hardware serial write() compatibility fix

Fix pin config on Serial6

Add extreme joystick, disabled by default, edit usb_desc.h

Fix String test as boolean

Faster installation, especially on Mac

Optimize SPI.transfer(buffer, length) (KurtE)

Fix USB audio on Macs & improve PassThroughUSB example

Start USB sooner

Add volume() function to AudioInputUSB

Fix rare memcpy issue (Frank B)

Fix 9 bit mode on Serial1 & Serial2 on Teensy LC (gecko)

Fix to dtostrf for small numbers (LAtimes2)

Serial.begin() waits up to 1 second for serial monitor open

analogWriteFrequency minimum on Teensy LC

Fixes in ADC library (KurtE)

Fixes in RadioHead library (KurtE)

Version 1.35

Support for Arduino 1.8.1

Improve buildin SD card startup on Teensy 3.5 & 3.6 after uploading

Fix SD card clock speed on Teensy 3.5 & 3.6

Fixes to Serial5 and Serial6 on Teensy 3.5 & 3.6

Fix string length check on readString() and readStringUntil()

Libraries update: Audio, FlexCAN, OctoWS2811,

Fix compiler warnings in USB Disk with Teensy 2.0

Version 1.34

Support for Arduino 1.8.0

Add Tools > Optimize menu, add "Faster" (-O2)

Fix driver install/update on Windows 7 & 8

Prevent "might not have installed correctly" message on Windows

Fix Teensy Loader "Illegal Instruction" on Windows 10 restart

Anti-alias font fix for Arduino 1.8.0 on Windows

Fixes for compiler warnings

Libraries updated: Adafruit_RA8875, Adafruit_ST7735, Adafruit_STMPE610, Artnet, Bounce2, FastCRC, FlexCAN, NewPing, OSC, ShiftPWM, UTFT

Version 1.33

Fix first-use communication error between Arduino & Teensy Loader

Teensy Loader Verbose Info now logs time with milliseconds

More logging in (tempdir)/teensy_reboot_log.txt

Teensy Loader GUI toolkit updated (now using wxWidgets 3.1.0)

Mac version now requires OSX 10.7 (Lion) or later

Libraries updated: Audio, Tlc5940, SPIFlash

Version 1.32

Add support for Arduino 1.6.13

Serial monitor shows status in title bar, Arduino 1.6.13 only

Ethernet library now supports W5500 chip

Fix SD library with old SD cards on Teensy 3.5 & 3.6

Fix IntervalTimer start/stop bug

Fix Audio library SPI hogging with Teensy 3.5/3.6 build in SD card (Frank B)

Libraries updated: Snooze, Time, TimerThree, Audio, UTFT

Libraries added: EasyTransfer, ResponsiveAnalogRead

Improved sync between Arduino IDE and Teensy Loader

Arduino IDE Tools > Ports menu labels ports as "Teensy"

Fix Arduino Verify starting upload when Teensy already in bootloader mode

Teensy Loader wrong chip dialog is now nonblocking.

pinMode supports INPUT_DISABLE on 32 bit Teensy boards

attachInterrupt supports uninitialized pins

Serial RTS watermarks scale with buffer size (Frank B)

Optimized Adafruit_ST7735 improved & renamed to ST7735_t3

Ethernet library optimizations & Ethernet.init(CS_PIN)

Improve audio library usage with smaller block sizes

Version 1.31

Add support for Arduino 1.6.12

Arduino SD library support 4 bit SDIO on Teensy 3.5 & 3.6 (special thanks WMXZ)

Fix EEPROM on Teensy 3.6 with CPU speed > 120 MHz (special thanks Defragster)

Update FlexCAN library for CAN1 on Teensy 3.6 (Pawelsky)

Update OctoWS2811 to support Teensy 3.5 & 3.6

Fix USB serial number on Teensy 3.6 with CPU speed > 120 MHz

Fix audio I2S output on Teensy 3.6 with CPU speed > 120 MHz when also using I2S input

Support Teensy 3.5 & 3.6 on older versons of Arduino

Fix SPI1 default SCK1 pin (KurtE)

Optimize attachInterrupt (tni)

Improve USB stability on Teensy 3.6 with CPU 180 or 216 MHz

Add USB MIDI custom name example

Fix Adafruit_ST7735 on Teensy 3.5 & 3.6 (MichaelMeissner)

Many library metadata files updated for PlatformIO

Fix Ethernet library socket receive bug (thanks ElOtroMateo)

Fix compiler warnings, eg: kinetis_hsrun_enable unused

Serial buffer sizes override from command line (Frank B)

Stream find functions use const for pointers

Add AudioOutputAnalogStereo and AudioInputAnalogStereo

(Video) Using Teensy with Arduino IDE

Add Audio reverb effect (Joao Rossi Filho)

Add Audio waterfall spectrum example (Nathaniel Quillin)

Fix USB Audio on Windows when used with USB Serial

Fix auto-reboot for newer USB types

Fix serial monitor for newer non-serial USB types

Many ILI9341_t3 improvements (Frank B, Kurt E, Softegg)

SerialFlash allows other SPI ports (Martino Facchin)

Teensy Loader shows correct images for Teensy 3.5 & 3.6

Improved handling of float INF & NAN (Frank B)

Bundle libpng12 & libusb10 libraries, missing from some Linux distros.

Version 1.30

Add support for Arduino 1.6.10 and 1.6.11

Add support for Teensy 3.5 and 3.6 (still beta)

Improve USB audio - optional Mac workaround

Libraries updated: Audio, OctoWS2811, ADC, i2c_t3, IRremote, SPI, FastLED

Optimize analogRead

Version 1.29

Add support for Arduino 1.6.9

Add support for running on Raspberry Pi (Linux ARM)

Drop support for Arduino 1.6.3 and 1.6.6

USB Keyboard improved media keys, now Windows compatible

Add USB Touchscreen (up to 10 fingers)

Add USB Audio

USB Mouse adds horizontal scroll

More combinations in Tools > USB Type

Serial1.setTX() adds open drain option

Libraries updated: Audio, FastCRC, FreqMeasureMulti, PS2Keyboard, SerialFlash, FreqCount, LedDisplay, SerialFlash, Talkie, TFT_ILI9163C, FastLED, ADC, TimeAlarms, TimerOne, TimerThree

SPI setMOSI, setMISO, setCLK work after SPI.begin

Serial1 setTX, setRX support pins 24 & 25 on Teensy LC

Port Serial1.clear to Teensy3 (thanks KurtE)

Port digitalWriteFast & digitalReadFast to Teensy2 (thanks KurtE)

Port Arduino's AVR Serial1 optimization to Teensy2 (thanks KurtE)

Add missing hardware register defs (thanks Duff)

Fix undocumented flightsim callback (thanks jbliesener)

Fix Servo library compile issue on Arduino 1.6.9

Fix WCharacter and ctype functions

Allow SPI setMOSI, setMISO, setCLK after SPI.begin()

Document flash security lock in mk20dx128.c

Support more F_BUS overclock speeds

Fix pulseIn on Teensy LC (thanks KurtE)

Version 1.28

Support for Arduino 1.6.8

Ethernet library rewrite & performance improvement

Serial1, Serial2, Serial3 setTX(pin) setRX(pin)

Wire setSDA(pin) & setSCL(pin) & end()


USB Mouse supports MOUSE_BACK & MOUSE_FORWARD buttons (thanks Xenoamor)

SPI.usingInterrupt supports IntervalTimer

Add libraries: MFRC522, Bounce2, RA8875

Update LiquidCrystal, Adafruit_GFX, Adafruit_NeoPixel, AltSoftSerial, Audio, CapacitiveSensor, DS1307RTC, Encoder, i2c_t3, ILI9341_t3, OctoWS2811, OneWire, SerialFlash, ShiftPWM, Snooze, TFT_ILI9163C, Time, TimerOne, TimerThree, Adafruit_SSD1306, ADC, OctoWS2811

Added CMP register defs (thanks Duff)

Convert all built-in library from "legacy" format

Fix serial monitor transmit in non-Serial modes

Fix small error in IntervalTimer floating point init

Fix momentary wrong board display in Teensy Loader during "Reboot OK"

Fix back button in installer when an error is detected (easier to retry)

Remove ARDUINO_ARCH_AVR from non-AVR Teensy boards

Add IPAddress fromString()

Fix E2END to always represent actual EEPROM size

Fix SPI.end() to disable alternate pins, if used

Installer name changed from "teensyduino" to "TeensyduinoInstall" (runs as admin on Windows)

Version 1.27

Add support for Arduino 1.6.7

Updates to Ethernet, Wire and XPT2046_Touchscreen libraries.

Add Note Frequency detection to Audio (thanks Colin Duffy)

Fix attachRTS on Serial2 & Serial3 on Teensy 3.x

Add RA8875 library, optimized for Teensy 3.x (thanks Sumotoy)

Other minor fixes and improvements

Version 1.26

Add support for Arduino 1.6.6

Fix USB Serial on Macintosh 10.11 El Capitan

Partially fix Mac signatures (still must run Arduino once before installing)

AnalogWriteFrequency supports extremely low speeds (thanks Theremingenieur)

Improve tone() changing frequency while running

Serial1.attachRts() and Serial1.attachCts()

Update libraries: AltSoftSerial, FastLED, ILI9341_t3

Add XPT2046_Touchscreen library

Improve Ethernet library W5200 reset handling

Update SD library examples

Add I2S 2-port register bitfield names

Initial work on MTP Disk (incomplete)

Version 1.25

Add support for Arduino 1.6.5-r5

Detect Windows 10 serial driver during install, avoid adding Teensy's INF.
If you installed a previous version on Windows 10, you canremove Teensy's unneeded serial driver.

Drop support for Arduino 1.6.4, due to this bug

Update Adafruit_GFX, FastLED, ILI9341_t3 (added fonts)

Audio lib: play from SerialFlash (thanks Wyatt Olson), ext mem delay, bitchusher (thanks Pensive)

Floating point constants are now single precision on Teensy LC, 3.0, 3.1

SD root dir bug and other minor fixes

SD Teensy3 optimized (not enabled by default) has improved caching

Servo library easier to edit for more than 16 motors

Remove dedicated AVR toolchain (was only needed for Arduino 1.6.2)

Avoid interfering with new Arduino 1.6.5 color scheme

Serial flow control functions (C only for now)

XPlaneRefs with names >58 chars (thanks jbliesener)

USB MIDI Time code (thanks Karg)

Installer detects Windows 10, skips driver install

Installer looks in more places on Windows to auto-find Arduino

Version 1.24

Support 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.23

Support 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.22

Support 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.21

Support 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.20

Support 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

(Video) Teensy 4.0 How to Programming the Teensy using Arduino IDE

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

Add attachInterruptVector()

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.19

Add 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
If previous versions have been used, Windows will detect a "new" device, "install" the driver again, and assign a new COM port number.

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.18

Fix 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.17

Support 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

Add digitalPinToInterrupt

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.16

SPI 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.15

Fixed 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.14

Updated 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.

(Video) Arduino and Teensyduino Windows Installation

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.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, usethis copy for Teensy 3.0).

Version 1.09

Support for Arduino 1.0.1 & 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

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

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

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

Download and Install Teensy support into the Arduino IDE (1)

3) Click on "Exploit protection settings"

Download and Install Teensy support into the Arduino IDE (2)

4) Click on "Program settings"

Download and Install Teensy support into the Arduino IDE (3)

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

Download and Install Teensy support into the Arduino IDE (4)

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

Download and Install Teensy support into the Arduino IDE (5)

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

Download and Install Teensy support into the Arduino IDE (6)

8) Click "Apply" to complete the process.

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

Macintosh: Teensyduino requiresaccess to your Documents folder, because Arduino stores installed libraries andboards 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 findTeensyduino on the list of applications which have requested access toyour Documents Folder. This box must be checked for Teensyduino to work.

Download and Install Teensy support into the Arduino IDE (7)

All: Serial + Keyboard + Mouse + Joystickrequires 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 whencombined with other types.

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

Windows: You may need to run the Teensyduino installer asadministrator for it to install all files. Some anti-virusprograms can also interfere with installation and must betemporarily disabled. ANorton AntiVirus Workaroundwas sent by Carl B.

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

Mac OS X: When you run Arduino after installing Teensyduino, theLeopard's firewall will recognize the program has changed and willask again if you wish to allow internet connection (Arduino checksfor 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.linux32and TeensyduinoInstall.linux64 files will not have execute permission enabledwhen 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 modified version provided by Ubuntu is not (yet) supported.

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

Please report bugs on this forum. Try to include enough information to reproduce the problem.

(Video) Teensy Arduino Installation and Serial Debugging


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

Numerous files covered by various open source licenses are installedby Teensyduino. Nearly all are provided in source code form. Pleaserefer to the comments within each file for copyright and licensinginformation.

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

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


1. Getting Started with the Teensy Microcontroller Platform
2. Installing Arduino and Teensyduino for Mac OS Catalina
3. How to install Teensy TinyBASICPlus on your Teensy 3 2(v1.3.1)
(Donovan Goodwin)
4. Arduino port problem | COM port not found [ 2022 Update ] Complete Step by Step Guide
(Geeky Script)
5. 1 First flashing light on a Teensy and win8 install
(Brian Patton)
6. How to Install an Arduino Library From GitHub
(Robotics Back-End)
Top Articles
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated: 02/13/2023

Views: 6036

Rating: 4.4 / 5 (75 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.