Teensy 3.2
⚡ The essentials in 60 seconds
- mcu — NXP/Freescale MK20DX256VLH7, ARM Cortex-M4 (no hardware FPU), rated 72 MHz, officially overclockable to 96 MHz (techspecs). Clock derived from a 16 MHz crystal multiplied by a PLL (store page, Timing section).
- memory — 256 KB flash (192 Mbytes/sec bandwidth, 256-byte cache), 64 KB RAM (functions can be placed in RAM with the FASTRUN keyword), 2048 bytes emulated EEPROM (FlexNVM), 32-byte RTC RAM (28 usable; retained by VBAT coin cell).
- digital_i_o — 34 I/O pins, 24 easily accessible on a solderless breadboard (compact breadboard-friendly format). Output HIGH = 3.3 V, recommended max 10 mA/pin; inputs 5 V tolerant (do not drive above 5 V). All pins support pull-up/pull-down and pin-change interrupts; optional slew-rate limiting. Pin 13 has an orange status LED.
- pwm — 12 PWM pins, 3 timer groups with independent frequencies (analogWriteFrequency); FTM0 drives pins 5, 6, 9, 10, 20, 21, 22, 23.
- analog — 21 analog inputs on 2 converters, default 10-bit, hardware allows 16 bits but "in practice only up to 13 bits are normally usable due to noise"; programmable gain amps on A10/A11 and A12/A13; 3 analog comparators; 1 true 12-bit DAC on pin A14 (store page; Wikipedia confirms 12-bit DAC). AREF default 3.3 V, analogReference(INTERNAL) gives 1.2 V. A10–A14 (analog-only pins) are not 5 V tolerant. 12 capacitive touch pins (touchRead).
- comms — 3 UARTs (Serial1/2 with FIFOs, high-resolution baud), 1 SPI (with FIFO), 2 I2C (100/400/1000 kbit/s), 1 CAN bus (transceiver chip required), 1 I2S/TDM stereo port, USB device at 12 Mbit/s with selectable device types (Serial, MIDI/MIDIx4/MIDIx16, Audio, Keyboard, Mouse, Joystick, Flightsim, RawHID, …).
- On this board : 9 tutorials · 10 code
The Teensy 3.2 stands as a distinctive entry in the landscape of microcontroller development boards, representing a specific era of accessible, high-performance embedded computing. Manufactured by PJRC, a company based in the United States, this board is part of the Teensy 3.x family, which shares a compact physical form factor with its predecessors, the Teensy 3.0 and 3.1. The 3.2 revision is built around the NXP MK20DX256VLH7 microcontroller, a chip based on the ARM Cortex-M4 architecture. For those unfamiliar with these terms, the Cortex-M4 is a 32-bit processor core designed for embedded applications, offering a balance of performance and power efficiency. Unlike some other microcontrollers, this specific chip does not include a hardware Floating Point Unit, meaning it handles decimal calculations through software emulation rather than dedicated hardware, which can impact performance in math-heavy applications. The processor operates at a rated speed of 72 MHz, a frequency that refers to the number of cycles the processor can execute per second, though it is officially supported to be overclocked to 96 MHz for users requiring additional processing headroom. The clock signal is generated from a 16 MHz crystal oscillator, multiplied internally by a Phase-Locked Loop to achieve these higher speeds.
A defining characteristic of the Teensy 3.2, and the reason it gained a loyal following, is its robust power management. While many development boards struggle to power external peripherals, the 3.2 features a more powerful 3.3 V regulator compared to the earlier Teensy 3.1. This upgrade allows the board to directly supply sufficient current to power add-on modules such as ESP8266 Wi-Fi boards or WIZ820io Ethernet modules without requiring separate power supplies. The board provides 256 KB of flash memory for storing your program and 64 KB of RAM for temporary data. Notably, developers can place critical functions in RAM using a specific keyword to speed up execution, a feature that highlights the board’s focus on performance. The input and output capabilities are extensive, featuring 34 digital I/O pins, with 24 of them easily accessible on a standard solderless breadboard. These pins are 5-volt tolerant, meaning they can safely accept signals from older 5-volt logic devices without damage, although the board itself operates at 3.3 volts. The analog capabilities include 21 inputs, with a true 12-bit Digital-to-Analog Converter on pin A14, allowing for smooth analog signal generation, a rarity in this class of microcontrollers.
The Teensy 3.2 has carved out a niche reputation as an audio-first platform. It supports CD-quality audio streaming at 16-bit and 44.1 kHz, enabling complex polyphonic playback, synthesis, and effects processing. This is facilitated by the Teensy Audio Library, which includes a graphical design tool that allows users to visually patch together audio components and export the corresponding code. The board can drive the Audio Adapter shield, which adds a high-quality codec for stereo input and output, along with SD card support for playing back audio files. Beyond audio, the board is renowned for its ability to drive massive LED arrays. The OctoWS2811 library allows the Teensy 3.2 to control eight parallel strips of WS2812 addressable LEDs using Direct Memory Access, a technique that lets the hardware move data without constantly interrupting the processor. This results in nearly zero CPU usage during LED updates, allowing for smooth animations on thousands of LEDs. The board also supports USB MIDI, making it a popular choice for DIY musical instruments and controllers, with support for multiple virtual MIDI cables.
Programming the Teensy 3.2 is primarily done through the Arduino IDE with the Teensyduino add-on, which provides a vast library of optimized functions. However, the board features a unique bootloader architecture. The bootloader, known as HalfKay, resides in a physically separate chip from the main microcontroller. This design ensures that the main flash memory is entirely free for user code and that the bootloader cannot be accidentally erased or corrupted during programming. The program runs immediately upon power-up, without the delay typical of many Arduino boards. Flashing new code is handled by the Teensy Loader application, which can be triggered automatically from the Arduino IDE or via a physical button on the board. This button also serves as a recovery mechanism if a program enters a state that prevents normal communication.
Despite its capabilities, the Teensy 3.2 is now discontinued. PJRC announced in October 2023 that the board was being phased out after eleven years on the market, citing difficulties in securing chip supply from NXP. The final batches sold out, and while there have been occasional limited restocks, the board is considered End of Life. Users are encouraged to migrate to the newer Teensy 4.0. Potential users should also be aware of specific hardware quirks. The Real-Time Clock requires a user-soldered 32.768 kHz crystal to function, and the analog-only pins A10 through A14 are not 5-volt tolerant, unlike the rest of the board. Additionally, the VIN and VUSB power inputs are internally connected, which can cause back-powering issues if external power is applied while the board is connected to a computer via USB. These connections can be separated by carefully cutting specific pads on the bottom of the board, a process that requires precision to avoid damaging internal traces. The board’s compact size and powerful feature set made it a staple in projects ranging from Eurorack synthesizer modules like Ornament and Crime to large-scale LED art installations, leaving a lasting legacy in the maker community despite its discontinuation.

Pinout diagram


| Attr | Specs | verified |
|---|---|---|
mcu | NXP/Freescale MK20DX256VLH7, ARM Cortex-M4 (no hardware FPU), rated 72 MHz, officially overclockable to 96 MHz (techspecs). Clock derived from a 16 MHz crystal multiplied by a PLL (store page, Timing section). | ✔ |
memory | 256 KB flash (192 Mbytes/sec bandwidth, 256-byte cache), 64 KB RAM (functions can be placed in RAM with the FASTRUN keyword), 2048 bytes emulated EEPROM (FlexNVM), 32-byte RTC RAM (28 usable; retained by VBAT coin cell). | ? unverified |
digital_i_o | 34 I/O pins, 24 easily accessible on a solderless breadboard (compact breadboard-friendly format). Output HIGH = 3.3 V, recommended max 10 mA/pin; inputs 5 V tolerant (do not drive above 5 V). All pins support pull-up/pull-down and pin-change interrupts; optional slew-rate limiting. Pin 13 has an orange status LED. | ? unverified |
pwm | 12 PWM pins, 3 timer groups with independent frequencies (analogWriteFrequency); FTM0 drives pins 5, 6, 9, 10, 20, 21, 22, 23. | ? unverified |
analog | 21 analog inputs on 2 converters, default 10-bit, hardware allows 16 bits but "in practice only up to 13 bits are normally usable due to noise"; programmable gain amps on A10/A11 and A12/A13; 3 analog comparators; 1 true 12-bit DAC on pin A14 (store page; Wikipedia confirms 12-bit DAC). AREF default 3.3 V, analogReference(INTERNAL) gives 1.2 V. A10–A14 (analog-only pins) are not 5 V tolerant. 12 capacitive touch pins (touchRead). | ✔ |
comms | 3 UARTs (Serial1/2 with FIFOs, high-resolution baud), 1 SPI (with FIFO), 2 I2C (100/400/1000 kbit/s), 1 CAN bus (transceiver chip required), 1 I2S/TDM stereo port, USB device at 12 Mbit/s with selectable device types (Serial, MIDI/MIDIx4/MIDIx16, Audio, Keyboard, Mouse, Joystick, Flightsim, RawHID, …). | ? unverified |
dma | 16 general-purpose DMA channels; nested vectored interrupt controller. | ? unverified |
power | 5 V on VUSB/VIN (wired together on the bottom; can be cut apart to feed VIN while USB is connected), onboard 3.3 V regulator, recommended max 250 mA external 3.3 V load; can run on externally applied 3.3 V; VBAT accepts a 3 V coin cell for RTC. 3 GND + 1 AGND pins. | ? unverified |
rtc | requires a 32.768 kHz crystal to be soldered on by the user (techspecs). | ✔ |
- Manufacturer: PJRC (Paul Stoffregen's Custom Electronic Design & Development), USA — pjrc.com
- Product line: Teensy 3.x, same form factor as Teensy 3.0/3.1. Teensy 3.2 is the MK20DX256VLH7-based revision that adds a more powerful 3.3 V regulator compared to Teensy 3.1, able to directly power ESP8266 Wi-Fi or WIZ820io Ethernet add-ons (Wikipedia — List of Arduino boards and compatible systems).
- Release year: the PJRC store announced in October 2023 that Teensy 3.2 was being discontinued "after 11 years" on the market, i.e. the 3.x line dates from ~2012; the 3.2 revision itself appeared in 2014.
- Launch price:
- Status: Discontinued / EOL. Final batch sold out in October 2023 ("It is a painful decision for us to discontinue Teensy 3.2 after 11 years… NXP… simply can't [help with chip supply]", PJRC store page, Oct 4 2023 update). Inventory status "Out Of Stock", last physical count Apr 22 2026; PJRC ran small limited restocks (e.g. Jul 7 2025, Oct 13 2025, limit 5/person). PJRC recommends migrating to Teensy 4.0 (store page).
- Variants: Teensy 3.0 (MK20DX128, 48 MHz, 128 KB flash), Teensy 3.1 (MK20DX256, weaker 3.3 V regulator), Teensy 3.2 (this board), Teensy LC, 3.5, 3.6 (techspecs comparison, Wikipedia).
+ Strengths
- Audio-first reputation: the Teensy Audio Library does CD-quality 16-bit/44.1 kHz streaming (polyphonic playback, synthesis, effects, FFT analysis, flexible routing) using the Cortex-M4 DSP instructions, with a graphical Audio System Design Tool that exports Arduino code. The Audio Adapter ("Audio Shield") with an SGTL5000 codec adds 16-bit stereo in/out (headphone, line-in, mic) plus SD-card and SPI-flash sockets; Teensy 3.2's built-in 12-bit DAC (mono out) and 13-bit ADC inputs also work standalone.
- Extremely fast GPIO/LED output: OctoWS2811 drives 8 WS2811/WS2812 strips in parallel via DMA (up to 8800 LEDs refreshed at 30 Hz; ~4000 LEDs recommended per Teensy 3.2; 1000 LEDs updated in 3.8 ms → theoretical 240 Hz) with nearly zero CPU usage; show returns in 2 µs. WS2812Serial offers up to 5 non-blocking DMA instances. SmartMatrix + SmartLED Shield v4 drives 32x16–64x64 HUB75 RGB panels (docs).
- MIDI: class-compliant USB MIDI with 4 or 16 virtual cables (MIDIx4/MIDIx16), up to 16 messages per USB packet — heavily used in DIY MIDI controllers (USB MIDI tutorial).
- Separate-chip HalfKay bootloader (see Systems) — unusual among Arduino-compatible boards.
- Dual 32-bit buses (simultaneous instruction fetch + data), 16 DMA channels, nested interrupt controller with priority nesting, PDB/CMT/LPTMR/4 PIT timers, high-resolution baud hardware, CAN bus, slew-rate control, differential PGA inputs (store page, techspecs).
- Compact breadboard format with 24 accessible pins; pinout reference card included in the package (card7a / card7b).
− Weaknesses
- Discontinued (chip supply): NXP could not help keep the MK20DX256 supplied; final batch sold Oct 2023, board now EOL with only occasional limited restocks. Buy spares or migrate to Teensy 4.0 (store page updates, Oct 2023).
- VIN/VUSB back-powering: VIN and VUSB are connected — applying 5 V to VIN while USB is plugged can feed power back into the computer; the bottom pads must be carefully cut to separate them, and cutting too deep severs the internal-layer VIN wire (forum repair thread).
- RTC needs a soldered crystal: the 32.768 kHz crystal is not fitted; the RTC does nothing until you add it (techspecs).
- Pin 13 LED trap: when pin 13 is used as input, INPUT_PULLUP must not be used (the LED biases the pin) (store page, LED Pin).
- Analog-only pins A10–A14 are not 5 V tolerant — driving them above 3.3 V damages them, unlike the other (5 V-tolerant) pins (store page, 5 Volt Tolerance).
- 3.3 V regulator limit: max 250 mA recommended for external circuitry on the 3.3 V pin (store page, 3.3V Power).
- Memory pressure in big firmware builds: PJRC itself warns Teensy 3.2 "doesn't have enough memory for all O_C apps & applets" (Ornament and Crime moved to Teensy 4.x) (store page, Oct 11 2023).
- Audio shield I2S wiring noise: MCLK/BCLK/LRCLK/TX/RX wires "must be short to avoid problems" — long wires produce audible noise (forum thread).
- SD card size: SD library support for cards >32 GB only from Teensyduino 1.54 (audio adapter page).
- USB MIDI breaking change in Teensyduino 1.41: pitch bend range changed (0…16383 → +8191…−8192) and getType return values changed; transmit-only controllers must drain usbMIDI.read or USB buffers fill up; MIDI-OX on Windows needs a specific input-only setup (USB MIDI page, "Teensyduino 1.40 & Earlier").
- WS2812B signal level: newer strips need ~0.7×VDD HIGH; Teensy's 3.3 V output is unreliable — a 74HCT245 buffer (e.g. the OctoWS2811 Adaptor) is required; ATX PSU 5V-rail spikes have destroyed boards (OctoWS2811 page).
- 74HC4051 analog crosstalk: multiplexed potentiometers need a settling delay (≥50 µs, more with capacitance) or channels read each other (forum thread).
- Retour d'expérience expert expert — expert-microcontroleur
- Petit retour d'experience sur la Teensy 3.2. C'est une carte très puissante avec son Cortex-M4 et ses 16 canaux DMA, ideale pour l'audio via la bibliothee Teensy Audio ou pour piloter des LEDs avec OctoWS2811, ou le taux de rafraichissement est impressionnant. Par contre, attention aux pieges docum… — expert-microcontroleur
- Merci pour ce resume. J'ai effectivement rencontre le problème des LEDs WS2812B. Comme tu le dis, le signal de 3.3V de la Teensy est trop faible pour les nouvelles bandes LED, ce qui provoque des clignotements aléatoires. J'ai du ajouter un buffer niveau logique (type 74HCT245) comme recommande dan… — maker-rgb-2024
- Je confirme les souci de bruit sur l'audio si tes fils I2S vers l'Audio Shield sont trop longs, j'ai eu exactement le même phenomene de grésillements dans les haut-parleurs. Concernant la fin de vie, c'est frustrant car la capacite RAM de 64k commence a être juste pour des projets complexes de type… — audio-hacker-v1
Community feedback and projects
- Moon Germs hackaday.io
- Use Teensy 3.2 in breadboard without soldering electronics.stackexchange.com
- How much power can the Teensy 3.2 deliver to external components? arduino.stackexchange.com
- How much current from the 5V rail of a Teensy 3.2 powered over USB? electronics.stackexchange.com
- Product page (specs, pinout, power, programming)
- Cross-model technical specs table
- MK20DX256 reference manual
- MK20DX256 reference manual
- front
- back
- Teensyduino download
- Teensyduino download
- Teensyduino download
- GitHub (PaulStoffregen/Audio)
- SGTL5000 codec datasheet
- Audio library
- Audio library
- WS2812Serial
- SmartMatrix
- USB MIDI
- USB MIDI
- Community forum
- Community forum
- RoHS certificate
- Discontinued (chip supply): NXP could not help keep the MK20DX256 supplied; final batch sold Oct 2023, board now EOL with only occasional limited restocks. Buy spares or migrate to Teensy 4.0 (store page updates, Oct 2023).
- VIN/VUSB back-powering: VIN and VUSB are connected — applying 5 V to VIN while USB is plugged can feed power back into the computer; the bottom pads must be carefully cut to separate them, and cutting too deep severs the internal-layer VIN wire (forum repair thread).
- RTC needs a soldered crystal: the 32.768 kHz crystal is not fitted; the RTC does nothing until you add it (techspecs).
- Pin 13 LED trap: when pin 13 is used as input, INPUT_PULLUP must not be used (the LED biases the pin) (store page, LED Pin).
- Analog-only pins A10–A14 are not 5 V tolerant — driving them above 3.3 V damages them, unlike the other (5 V-tolerant) pins (store page, 5 Volt Tolerance).
- 3.3 V regulator limit: max 250 mA recommended for external circuitry on the 3.3 V pin (store page, 3.3V Power).
- Memory pressure in big firmware builds: PJRC itself warns Teensy 3.2 "doesn't have enough memory for all O_C apps & applets" (Ornament and Crime moved to Teensy 4.x) (store page, Oct 11 2023).
- Audio shield I2S wiring noise: MCLK/BCLK/LRCLK/TX/RX wires "must be short to avoid problems" — long wires produce audible noise (forum thread).
- SD card size: SD library support for cards >32 GB only from Teensyduino 1.54 (audio adapter page).
- USB MIDI breaking change in Teensyduino 1.41: pitch bend range changed (0…16383 → +8191…−8192) and getType return values changed; transmit-only controllers must drain usbMIDI.read or USB buffers fill up; MIDI-OX on Windows needs a specific input-only setup (USB MIDI page, "Teensyduino 1.40 & Earlier").
- WS2812B signal level: newer strips need ~0.7×VDD HIGH; Teensy's 3.3 V output is unreliable — a 74HCT245 buffer (e.g. the OctoWS2811 Adaptor) is required; ATX PSU 5V-rail spikes have destroyed boards (OctoWS2811 page).
- 74HC4051 analog crosstalk: multiplexed potentiometers need a settling delay (≥50 µs, more with capacitance) or channels read each other (forum thread).
- Premiers pas sur la Teensy 3.2 : Teensyduino, HalfKay et premier Blink debutant Schéma : IMG-teensy-32-debutant-1-teensy32-premiers-pas-teenyduino.svg — Teensy 3.2 vue de dessus sur une breadboard compacte, flèches sur la puce MK20DX256, le bouton Program, la LED orange de la broche 13 et le connecteur micro-USB ; en médaillon la fenêtre Teensy Loader affichant « Press Button ».
- Broches, ADC 13 bits, DAC 12 bits et PWM : dompter les E/S de la Teensy 3.2 debutant Schéma : IMG-teensy-32-debutant-2-teensy32-broches-analogique-pwm.svg — Teensy 3.2 sur breadboard : potentiomètre 10 kΩ sur A2, bouton sur la broche 5, LED + 330 Ω sur la broche 6 (PWM), doigt posé sur la broche 0 (touche capacitive) et sortie DAC A14 reliée à un oscilloscope.
- Un instrument MIDI USB en 10 minutes : Bounce, boutons et règle d'or du drain debutant Schéma : IMG-teensy-32-debutant-3-teensy32-usb-midi-instrument.svg — Teensy 3.2 avec trois boutons poussoirs sur les broches 1, 2 et 3, câble USB vers un ordinateur affichant une fenêtre de séquenceur (DAW) où apparaît l'entrée MIDI « Teensy » ; note de musique C4 au-dessus du premier bouton.
- Audio Shield SGTL5000 : boucle stéréo 44,1 kHz et outil de conception graphique intermediaire Schéma : IMG-teensy-32-intermediaire-4-teensy32-audio-shield-boucle.svg — Teensy 3.2 empilée sous un Audio Adapter (shield SGTL5000) : prises casque/ligne/micro à gauche, emplacement carte SD à droite, nappe de broches entre les deux ; flèches vers les broches 11, 9, 23, 22, 13, 18/19 et capture de l'outil de conception audio (boîtes reliées par des câbles).
- OctoWS2811 : piloter 8 rubans WS2812 en parallèle par DMA (presque zéro CPU) intermediaire Schéma : IMG-teensy-32-intermediaire-5-teensy32-octows2811-mur-led.svg — Teensy 3.2 reliée par une nappe à un buffer 74HCT245 (OctoWS2811 Adaptor) d'où partent 8 rubans WS2812 parallèles ; broches 22, 14, 7, 8, 6, 20, 21, 5 annotées sur la carte ; en médaillon, un mur LED 64x64 animé et l'alimentation 5 V dédiée avec condensateur de découplage.
- Timers matériels, interruptions imbriquées et FASTRUN : la vitesse Cortex-M4 intermediaire Schéma : IMG-teensy-32-intermediaire-6-teensy32-timers-dma-vitesse.svg — Teensy 3.2 en coupe conceptuelle : au centre le Cortex-M4 à 72 MHz avec ses deux bus 32 bits, autour les périphériques timing étiquetés PDB, CMT, LPTMR, 4x PIT, FTM (PWM) ; flèches vers 16 canaux DMA et le contrôleur d'interruptions imbriquées ; la LED 13 clignote pilotée par un timer.
- Intégration produit : alimentation VIN/VUSB, régulateur 250 mA, RTC à quartz et EEPROM avance Schéma : IMG-teensy-32-avance-7-teensy32-alimentation-rtc-integration.svg — Teensy 3.2 vue de dessous : pads VIN/VUSB sous la carte avec ciseaux et trait de coupe annoté « séparer avec précaution », pile bouton 3 V sur VBAT et GND, quartz 32,768 kHz à souder entre les deux pads RTC ; à droite, jauge du régulateur 3,3 V plafonnée à 250 mA.
- Contrôleur MIDI complet : encodeurs, multiplexage 74HC4051 et MIDIx16 avance Schéma : IMG-teensy-32-avance-8-teensy32-controleur-midi-diy.svg — boîtier DIY ouvert : Teensy 3.2 au centre, 8 encodeurs rotatifs et 16 potentiomètres multiplexés via deux puces 74HC4051 (broches A/B/S annotées), nappe USB partant vers un ordinateur affichant une DAW avec 16 câbles MIDI ; en médaillon, le délai de stabilisation ≥ 50 µs après changement de canal du multiplexeur.
- Récupération, sécurisation du code et gestion de la fin de vie (EOL) avance Schéma : IMG-teensy-32-avance-9-teensy32-recuperation-securite-fin-de-vie.svg — Teensy 3.2 en mode récupération : flèche sur le bouton Program annotée « accès même après un code verrouillé (FSEC) », puce HalfKay dessinée à part du flash principal du MK20DX256, terminal affichant teensy_reboot et la ligne de commande Makefile ; en fond, le badge « Discontinued — last batch Oct 2023 » et une flèche vers une Teensy 4.0.
Code library — examples written for this board
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduinobouton-led.inoArduinoruban-neopixel.inoArduinooled-i2c.inoArduinobuzzer-melodie.inoArduino
Examples and repos found online
- PaulStoffregen/cores github.com
- PaulStoffregen/Audio github.com
- PaulStoffregen/OctoWS2811 github.com