Teensy 4.0

PJRCMCU 8-32 bitarduino

⚡ L’essentiel en 60 secondes

La Teensy 4.0 est une carte de développement électronique qui marque un tournant décisif dans l'univers des microcontrôleurs accessibles aux passionnés et aux professionnels. Conçue à l'origine par PJRC, une entreprise américaine fondée par Paul Stoffregen, cette carte a été lancée en 2019 pour succéder à la populaire gamme Teensy 3.x. Depuis mars 2025, la fabrication et la vente sont assurées par SparkFun Electronics, bien que la conception et le support technique restent étroitement liés à l'héritage de PJRC. L'objectif principal de cette nouvelle génération était de proposer une puissance de calcul considérablement supérieure tout en conservant un format ultra-compact, identique à celui des modèles précédents, soit une taille de 1,4 sur 0,7 pouce. Cette compatibilité physique permet aux utilisateurs de migrer leurs projets existants sans avoir à redessiner entièrement leurs circuits imprimés ou leurs boîtiers, bien que certaines précautions électriques soient nécessaires.

Le cœur de la Teensy 4.0 est un processeur ARM Cortex-M7 cadencé nativement à 600 MHz, une fréquence qui peut être officiellement augmentée jusqu'à 912 MHz par overclocking. Pour comprendre l'ampleur de cette puissance, il faut rappeler que la fréquence d'horloge, exprimée en mégahertz, indique le nombre de cycles de traitement par seconde. À 600 millions de cycles par seconde, cette carte offre des performances bien supérieures à celles des microcontrôleurs classiques souvent limités à quelques dizaines de mégahertz. Le processeur intègre des technologies avancées comme la prédiction de branchement, qui anticipe les décisions logiques pour éviter les temps morts, et une unité de calcul en virgule flottante double précision, essentielle pour les applications scientifiques ou audio complexes. La mémoire vive de 1 Mo est divisée en deux parties distinctes : la première, appelée mémoire à couplage serré, offre un accès ultra-rapide au processeur, tandis que la seconde est optimisée pour les transferts de données directs, ce qui permet de traiter des flux d'informations massifs sans ralentir le cœur du calcul.

En termes de connectivité et d'entrées-sorties, la carte dispose de 40 broches numériques, dont 24 sont accessibles sur une plaque d'essai standard. Il est crucial de noter une différence majeure avec les générations précédentes : les entrées de la Teensy 4.0 ne tolèrent pas les signaux de 5 volts. Les niveaux logiques fonctionnent exclusivement en 3,3 volts, et l'application d'une tension supérieure risque d'endommager le composant. Cette évolution impose une vigilance accrue lors de l'interfaçage avec des capteurs ou des actionneurs anciens fonctionnant en 5 volts. La carte offre une richesse d'interfaces impressionnante pour sa taille, incluant sept ports série, trois bus I2C, trois bus SPI et trois interfaces CAN, dont une compatible avec la norme CAN FD. Cette densité de communication permet de gérer simultanément plusieurs périphériques complexes, comme des écrans, des capteurs environnementaux et des moteurs, sans conflit de bus.

L'une des particularités remarquables de la Teensy 4.0 est sa capacité à gérer deux ports USB indépendants. Le port standard sert à la programmation et à la communication avec un ordinateur, tandis qu'un second port, situé sur des pastilles en dessous de la carte, permet d'agir comme un hôte USB. Cela signifie que la carte peut contrôler directement des claviers, des souris ou des clés USB, une fonctionnalité rare à ce niveau de prix et de compacité. Cependant, ce port hôte ne dispose pas de gestion de puissance intégrée, ce qui implique de ne pas brancher à chaud des périphériques gourmands en énergie pour éviter des coupures de courant. Pour le stockage des données, la carte utilise une mémoire flash externe de 2 Mo, dont environ 1,9 Mo est utilisable pour le code et les fichiers, le reste étant réservé au système. Il n'y a pas de socket pour carte SD intégré, mais des pastilles permettent d'en connecter une via un connecteur spécifique, offrant ainsi une extension de stockage rapide.

La gestion de l'alimentation est également un aspect important à maîtriser. La carte fonctionne idéalement avec une alimentation de 5 volts, soit via le port USB, soit via la broche VIN. Il est recommandé de ne pas alimenter la carte directement par la broche 3,3 volts, car le régulateur interne est conçu pour fournir cette tension aux composants, et non pour en recevoir. La consommation typique tourne autour de 100 mA à pleine vitesse, ce qui reste raisonnable pour des applications portables. Un bouton physique permet de mettre la carte en veille ou de la réinitialiser, mais il n'existe pas de broche de réinitialisation matérielle externe, ce qui signifie que la récupération d'un programme défaillant repose sur le bouton de programmation ou sur des mécanismes logiciels de garde-fou.

Enfin, l'écosystème logiciel est l'un des points forts de la Teensy. Elle est entièrement compatible avec l'environnement Arduino IDE via l'extension Teensyduino, permettant une prise en main rapide pour les débutants. Pour les utilisateurs plus avancés, des environnements comme PlatformIO ou la compilation en ligne de commande sont disponibles. La carte brille particulièrement dans les domaines de l'audio et du contrôle lumineux. Des bibliothèques dédiées permettent de générer des effets sonores complexes en temps réel ou de piloter des milliers de LED adressables avec une fluidité parfaite, grâce à l'utilisation intensive des canaux d'accès direct à la mémoire. Bien que des incohérences mineures existent parfois entre les fiches techniques officielles concernant le nombre exact de sorties PWM ou le courant maximal par broche, la communauté et les fabricants recommandent de toujours vérifier les schémas électriques pour les conceptions critiques. La Teensy 4.0 se positionne ainsi comme un outil de référence pour ceux qui cherchent à allier puissance de calcul élevée, compacité et polyvalence des interfaces, tout en nécessitant une attention rigoureuse aux contraintes électriques de 3,3 volts.

Forum (1 sujet) →

AttrSpecsvérifié
mcuNXP MIMXRT1062DVL6 (boards after Dec 2021: MIMXRT1062DVL6B, "the 'B' version fixes obscure hardware bugs with CAN bus and USB device isochronous mode") — techspecs, store page Design Changes. SparkFun confirms the DVL6B and the 144-pin package (SparkFun overview).✔
cpusingle-core ARM Cortex-M7, 600 MHz rated, officially overclockable to 912 MHz (techspecs table). Dual-issue superscalar (2 instructions/clock achievable; 40–50 % of the time on numerically intensive Arduino C++ per PJRC benchmarks), first ARM MCU with branch prediction, hardware FPU for both 32-bit float and 64-bit double, DSP extensions, two 32 KB caches (instruction + data) (store page, Processor). - Community overclocking: the forum "Overclocking the Teensy 4.x — Ultimate Thread" tests 720/816/912/960/1008 MHz, with ≥912 MHz gated behind a YES_COOLING flag ("Overclocking where COOLING IS REQUIRED") — forum thread 77689.✔
memory- Flash: 2 MB external SPI flash (Winbond W25Q16JV, datasheet); 1984 KB usable — the top 64 KB is reserved for EEPROM emulation data and the LED-blink restore program (store page, Memory; techspecs lists 1984 KB, 66 Mbytes/sec bandwidth, 65536-byte cache). Portion of flash usable for files via LittleFS. - RAM: 1024 KB total; half (RAM1) is tightly coupled memory (TCM) with single-cycle access via 64-bit ITCM/DTCM buses, half (RAM2) is optimized for DMA access (store page, Memory, forum memory-region thread). Placement keywords: FASTRUN (default, code in RAM1), FLASHMEM, PROGMEM/F, DMAMEM (RAM2) (store page). - EEPROM: 1080 bytes emulated (techspecs); writes temporarily stall code execution from flash (store page). - RTC RAM: 16 bytes (registers LPGPR0–LPGPR3), battery-backed via VBAT.✔
digital_i_o40 pins (24 accessible on a solderless breadboard), output HIGH = 3.3 V; inputs are NOT 5 V tolerant ("Except the VIN and VUSB pins, nothing is 5V tolerant on these new parts" — Paul Stoffregen, release thread). All 40 pins interrupt-capable. Output current: store page recommends max 4 mA per pin; the comparison table lists 10 mA — use the conservative figure. All pins: pull-up/pull-down/keeper, slew-rate limiting, 7-step variable drive strength (≈150 Ω to ≈21 Ω), 4-step output bandwidth (50/100/150/200 MHz). Pin 13 has the orange status LED.✔
pwm31 PWM pins in 19 independently-clocked groups (analogWriteFrequency) per the store page; the techspecs table lists 3× 32-bit FlexPWM + 32× 16-bit FlexPWM/QuadTimer channels but "27 total PWM outputs" for the 4.0 — a documented inconsistency between the two official pages.✔
analog14 analog inputs, 2 ADC converters, default 10-bit (up to 12-bit in hardware, "in practice only up to 10 bits are normally usable due to noise"; Paul: "effective number of bits is about 10", release thread). Input range fixed 0–3.3 V; no AREF pin — analogReference has no effect (store page, Analog Pins). 4 analog comparators. No PGA, no capacitive touch, no DAC (unlike Teensy 3.5/3.6) (techspecs).✔
timers49 total (3× 32-bit FlexPWM modules, 32× 16-bit, 4 quadrature decoders, 4 IntervalTimers, 3 watchdogs, 2 GPTs), 32-bit cycle counter ARM_DWT_CYCCNT incrementing at CPU clock (store page, Timing, techspecs).✔
comms7 UARTs (all with FIFOs), 3 SPI (first with FIFO), 3 I2C (100/400/1000 kbit/s), 3 CAN (one with CAN FD; transceiver chip required), 2 I2S/TDM ports (up to 8 channels I2S / 16 TDM) + independent S/PDIF in/out, MQS "Medium Quality Sound" speaker output, programmable FlexIO peripheral (store page, Communication).✔
usbdevice port 480 Mbit/s (Serial, MIDI/MIDIx4/MIDIx16, Audio, Keyboard, Mouse, Joystick, Touchscreen, MTP, Flight Sim, RawHID, …) + second USB host port at 480/12/1.5 Mbit/s on two bottom SMD pads, fully independent of the device port (USBHost_t36 library). The 4.0's host port has no power-management circuitry (data pins only) (store page).✔
sd_cardno socket — 8 bottom pads for connector HFW8R-1STE1H1LF give the same 4-bit native SDIO signals as the Teensy 4.1 socket (SD.begin(BUILTIN_SDCARD)) (store page, Memory/SD Card).✔
dma32 general-purpose channels, plus dedicated DMA engines in USB device/host and SDIO (store page, Special Features).✔
security_hardwareCryptographic Acceleration Unit (symmetric ciphers + hashes — "currently no library support exists"), true Random Number Generator (Entropy library), Bus Encryption Engine for on-the-fly code decryption, optional permanent secure mode on Lockable units, JTAG disable (store page, Code Security / Special Features, td_code_security).✔
sensors_miscon-die temperature sensor (InternalTemperature library), RTC with onboard 32.768 kHz crystal (unlike Teensy 3.2 — no crystal to solder), On/Off power-control pin (store page).✔
power5 V at VUSB/VIN (connected; cut the bottom pads to separate them before feeding VIN alongside USB). Onboard 3.3 V regulator, recommended max 250 mA external 3.3 V load; the board is not meant to be powered through the 3.3V pin (forum mod thread 64468). VBAT takes a 3 V coin cell (CR2032) for RTC + 16-byte RTC RAM. CPU core voltage generated by onboard DC-DC buck: 1.25 V at 600 MHz, 1.15 V at ≤528 MHz, 0.95 V at 24 MHz, software-adjustable in 50 mV steps.✔
typical_consumption"When running at 600 MHz, Teensy 4.0 consumes approximately 100 mA" (5 V supply); lower at ≤528 MHz (store page, Power Consumption).✔
size_form_factor1.4 × 0.7 inch, identical footprint and breadboard layout to Teensy 3.0/3.1/3.2 (Wikipedia, SparkFun); 34 finished holes of 0.965 mm; bottom pad sizes USB-host 3.048×1.016, SD 2.000×0.600, pins 24–33 2.794×0.889 mm (store page, Dimensions).✔
  • Fabricant : PJRC (Custom Electronic Design & Development, Paul Stoffregen), États-Unis. Depuis mars 2025, les cartes sont fabriquées et vendues par SparkFun Electronics (« SparkFun is now manufacturing Teensy products », bannière de la boutique PJRC ; les déclarations FCC/ISED et CE/UKCA sont intitulées « For Teensy 4.0 manufactured and sold by SparkFun Electronics, after March 2025 ») — page boutique PJRC, page produit SparkFun.
  • Gamme de produits : Teensy 4.x, premier membre de la génération « crossover MCU » i.MX RT ; successeur de la ligne Teensy 3.x. Page de lancement PJRC : pjrc.com/teensy-4-0/ (« Teensy 4.0 features a 600 MHz Cortex-M7 processor, dramatically faster than prior Teensy models »).
  • Année de sortie : 2019. Le lancement a été annoncé sur le forum PJRC dans le fil « Teensy 4.0 Release », où Paul Stoffregen décrit l'expédition de « almost all the orders placed in the first ~4 hours after the announcement » (fil du forum 57112).
  • Prix de lancement :
  • Statut : Actif / en production (fabriqué par SparkFun depuis mars 2025 ; PJRC a effectué des révisions de conception jusqu'en août 2022 — voir Problems § modifications de conception). PJRC recommande explicitement le Teensy 4.0 comme voie de migration pour le Teensy 3.2 discontinué (page boutique).
  • Variantes : - Teensy 4.0 (standard, protégé par fusibles contre le briquage) et Lockable Teensy 4.0 — matériel identique, configuration de fusibles différente, activant le mode sécurisé / la sécurité du code (page boutique, Code Security ; SparkFun le vend sous le nom « Teensy 4.0, Lockable », produit 28368). - Avec ou sans broches pré-soudées (homologations FCC/CE séparées « Teensy 4.0 » vs « Teensy 4.0 with pins », section conformité de la page boutique). - Carte sœur Teensy 4.1 (même silicium IMXRT1062, boîtier DVJ6, plus de broches, PHY Ethernet embarqué + connecteur SD + plots PSRAM) — tableau de comparaison techspecs.

+ Points forts

  • Le MCU board le plus rapide largement disponible de sa catégorie : Cortex-M7 600 MHz avec double émission, prédiction de branchement, TCM et double FPU 64 bits à un prix d'amateur (pjrc.com/teensy-4-0/, SparkFun).
  • Même petit format que les Teensy 3.1/3.2 (1,4×0,7 pouce, compatibilité de taille/disposition avec la plupart des fonctions des broches conservées) — SparkFun, Wikipedia.
  • Écosystème axé sur l'audio : la bibliothèque Teensy Audio + l'outil graphique de conception audio diffusent de l'audio 44,1 kHz en utilisant les instructions DSP du M7 ; 2 ports I2S/TDM (8/16 canaux), S/PDIF in/out indépendant, sortie haut-parleur MQS, kit DAC PT8211 bon marché ; fonctionne avec l'Audio Shield (la Rev D+ route correctement le T4 — voir Problems).
  • Monstre de bandeau LED : OctoWS2811 pilote des bandes WS2812 via DMA au rafraîchissement vidéo de 30 Hz — sur Teensy 4.0 il n'est plus limité à 8 broches (« supports use of any number of digital pins ») ; WS2812Serial offre jusqu'à 8 instances DMA non bloquantes ; SmartMatrix + SmartLED Shield v5 pilote des panneaux RGB HUB75 de 32x16 jusqu'à 128x64 (page boutique, Lights & LEDs).
  • MIDI : USB MIDI compatible de classe avec câbles virtuels MIDIx4/MIDIx16 — un classique des contrôleurs MIDI DIY (td_midi).
  • Double USB à 480 Mbit/s (device + hôte indépendant sur les plots du dessous) — rare à cette taille/prix (page boutique).
  • Sécurité matérielle : chiffrement de bus + mises à jour de firmware chiffrées EHEX + variante Lockable avec mode sécurisé permanent et coupure JTAG (td_code_security).
  • Bootloader dans une puce séparée — coût nul en flash, impossible à brique par le flashage (page boutique).
  • FlexIO + Pixel Processing Pipeline + déclenchement croisé de périphériques (le logiciel PPP est « still very experimental ») (page boutique, fil du forum PPP).
  • Broche On/Off : maintenir 4 s pour couper le rail 3,3 V, 0,5 s pour redémarrer ; l'état d'alimentation est conservé par la pile bouton VBAT (page boutique, Power).
  • Carte de référence du brochage incluse (PDFs recto/verso card10a / card10b) ; méga-tableau de brochage communautaire par KurtE (forum).

− Points faibles

  • Révisions de silicium / errata : les cartes avant décembre 2021 utilisent la puce Rev A (MIMXRT1062DVL6A), après décembre 2021 la Rev B (DVL6B), qui « fixes obscure hardware bugs with CAN bus and USB device isochronous mode ». Des documents d'errata officiels séparés existent pour chacune : errata Rev B / errata Rev A (page boutique).
  • Câblage de l'Audio Shield au lancement : les Audio Shields d'origine (Rev B) ne fonctionnent pas directement sur le T4 — des signaux ont changé de broche ; les shields Rev B nécessitent des fils ajoutés plus une résistance de 100 Ω en série avec MCLK ; la Rev C n'a ajouté que la résistance ; la Rev D a enfin routé le shield pour le Teensy 4.0 (fil de lancement, Paul Stoffregen).
  • Brown-out lors du branchement à chaud en USB hôte : le port hôte de la 4.0 n'a pas de commutateur à limitation de courant ; « hot-plugging a USB device can draw too much current and possibly crash (brown-out reset) your Teensy » — ajouter un commutateur de type TPS2055A ou ne pas brancher à chaud (fil de lancement, page boutique, USB Host).
  • Aucune tolérance 5 V nulle part (sauf VIN/VUSB) — contrairement au Teensy 3.2 tolérant 5 V, appliquer plus de 3,3 V sur une broche risque de l'endommager (fil de lancement, page boutique, Digital Pins).
  • Rétro-alimentation VIN/VUSB : VIN et VUSB sont reliés ; appliquer 5 V sur VIN pendant que l'USB est branché peut renvoyer du courant vers l'ordinateur — couper les plots sous la carte pour les séparer (page boutique, VIN Pin).
  • ADC faible : pas d'AREF, référence 3,3 V fixe, ~10 bits effectifs malgré un matériel 12 bits ; les conceptions analogiques bruitées nécessitent des ADC externes (fil de lancement, page boutique, Analog Pins).
  • Piège de migration double vs simple précision : le T4 a la double précision matérielle ; le code 3.x dépendait d'une option du compilateur forçant les constantes flottantes en simple précision, « this might cause some subtle errors on T4 where I believe the option is not used » (fil de lancement).
  • Brown-out au démarrage sur alimentations 5 V faibles (cartes pré-août 2022) : R4 est passé à 470 K sur les cartes après août 2022, « which helps with startup with VUSB-VIN is lower than 4.1V » (page boutique, Design Changes).
  • Pas de reset matériel : « Teensy 4.0 does not have a hardware reset signal available » — prévoir des resets par watchdog logiciel dans le code déployé (page boutique, Programming).
  • Les écritures EEPROM bloquent l'exécution : écrire dans l'EEPROM émulée de 1080 octets « temporarily stalls code execution from flash » — à éviter dans les boucles temps réel dures (page boutique, Memory).
  • Piège de la LED broche 13 : quand la broche 13 est une entrée, INPUT_PULLUP ne doit pas être utilisé (la LED polarise la broche) (page boutique, LED Pin).
  • Entrée 3,3 V non supportée sans modification spéciale (forum 64468) ; la broche 3.3V est uniquement en sortie, max 250 mA externes.
  • L'overclocking nécessite un refroidissement : ≥912 MHz n'est stable qu'avec un refroidissement actif d'après les tests communautaires ; l'overclocking officiellement supporté est 912 MHz (forum 77689, techspecs).
  • Incohérences des pages officielles à connaître : nombre de PWM (boutique : 31 broches ; tableau : 27 au total), nombre de SPI (boutique : 3 ; la ligne du tableau indique 2), courant par broche (boutique : 4 mA ; tableau : 10 mA) — citer la page boutique pour la conception, vérifier contre le schéma.
  • Retour d'expérience expert expert — expert-microcontroleur
    • Je viens de migrer un projet audio d'une Teensy 3.6 vers la 4.0. La puissance du Cortex-M7 à 600 MHz est bluffante, surtout pour le routage du shield audio avec la bibliothèque dédiée. Attention toutefois aux pièges documentés : si vous avez un vieux shield Rev B, il ne fonctionnera pas nativement.… — expert-microcontroleur
    • Merci pour le retour sur le shield, je n'avais pas vu l'histoire de la résistance MCLK sur les vieurs révisions. Par contre, je bute sur un souci d'alimentation. J'ai tenté d'alimenter la carte par le vin 5V alors que le cable USB était branché pour le debug, et j'ai eu des coupures bizarres. J'ai … — maker_bricolage
    • Oui, tu as bien fait de vérifier. La fiche technique est claire : VIN et VUSB sont connectés d'usine. Si tu alimentes par VIN avec l'USB branché, tu risques du retour de courant vers ton PC ou des conflits de tension. Il faut impérativement couper les pads sous la carte pour les isoler si tu utilis… — expert-microcontroleur

Retours et projets de la communauté

  • HUB75 LED-panel graphics (SmartMatrix + SmartLED Shield v5)

    HUB75 LED-panel graphics (SmartMatrix + SmartLED Shield v5) — drives 32x16–128x64 RGB panels from a Teensy 4.0 with minimal CPU ; scrolling text, FastLED patterns, animated GIFs — , . (unverified au 2026-10-13) Circuit Sax — electronic saxophone — (PJRC blog …

  • Massive WS2812 installations (OctoWS2811)

    Massive WS2812 installations (OctoWS2811) — DMA-driven NeoPixel refresh at 30 Hz video rate, any number of pins on T4 — . (unverified au 2026-10-13) Audio effects/synthesis instruments (Teensy Audio Library + Design Tool) — drag-and-drop signal-flow graphs th…

  • 20 ns pulse counter / browser-based data acquisition

    20 ns pulse counter / browser-based data acquisition — (PJRC blog feature): FreqCount down to 9 ns pulse widths at 50 MHz, Teensy as web server (Teensy 4.1) — . (unverified au 2026-10-13)

  • Révisions de silicium / errata : les cartes avant décembre 2021 utilisent la puce Rev A (MIMXRT1062DVL6A), après décembre 2021 la Rev B (DVL6B), qui « fixes obscure hardware bugs with CAN bus and USB device isochronous mode ». Des documents d'errata officiels séparés existent pour chacune : errata Rev B / errata Rev A (page boutique).
  • Câblage de l'Audio Shield au lancement : les Audio Shields d'origine (Rev B) ne fonctionnent pas directement sur le T4 — des signaux ont changé de broche ; les shields Rev B nécessitent des fils ajoutés plus une résistance de 100 Ω en série avec MCLK ; la Rev C n'a ajouté que la résistance ; la Rev D a enfin routé le shield pour le Teensy 4.0 (fil de lancement, Paul Stoffregen).
  • Brown-out lors du branchement à chaud en USB hôte : le port hôte de la 4.0 n'a pas de commutateur à limitation de courant ; « hot-plugging a USB device can draw too much current and possibly crash (brown-out reset) your Teensy » — ajouter un commutateur de type TPS2055A ou ne pas brancher à chaud (fil de lancement, page boutique, USB Host).
  • Aucune tolérance 5 V nulle part (sauf VIN/VUSB) — contrairement au Teensy 3.2 tolérant 5 V, appliquer plus de 3,3 V sur une broche risque de l'endommager (fil de lancement, page boutique, Digital Pins).
  • Rétro-alimentation VIN/VUSB : VIN et VUSB sont reliés ; appliquer 5 V sur VIN pendant que l'USB est branché peut renvoyer du courant vers l'ordinateur — couper les plots sous la carte pour les séparer (page boutique, VIN Pin).
  • ADC faible : pas d'AREF, référence 3,3 V fixe, ~10 bits effectifs malgré un matériel 12 bits ; les conceptions analogiques bruitées nécessitent des ADC externes (fil de lancement, page boutique, Analog Pins).
  • Piège de migration double vs simple précision : le T4 a la double précision matérielle ; le code 3.x dépendait d'une option du compilateur forçant les constantes flottantes en simple précision, « this might cause some subtle errors on T4 where I believe the option is not used » (fil de lancement).
  • Brown-out au démarrage sur alimentations 5 V faibles (cartes pré-août 2022) : R4 est passé à 470 K sur les cartes après août 2022, « which helps with startup with VUSB-VIN is lower than 4.1V » (page boutique, Design Changes).
  • Pas de reset matériel : « Teensy 4.0 does not have a hardware reset signal available » — prévoir des resets par watchdog logiciel dans le code déployé (page boutique, Programming).
  • Les écritures EEPROM bloquent l'exécution : écrire dans l'EEPROM émulée de 1080 octets « temporarily stalls code execution from flash » — à éviter dans les boucles temps réel dures (page boutique, Memory).
  • Piège de la LED broche 13 : quand la broche 13 est une entrée, INPUT_PULLUP ne doit pas être utilisé (la LED polarise la broche) (page boutique, LED Pin).
  • Entrée 3,3 V non supportée sans modification spéciale (forum 64468) ; la broche 3.3V est uniquement en sortie, max 250 mA externes.
  • L'overclocking nécessite un refroidissement : ≥912 MHz n'est stable qu'avec un refroidissement actif d'après les tests communautaires ; l'overclocking officiellement supporté est 912 MHz (forum 77689, techspecs).
  • Incohérences des pages officielles à connaître : nombre de PWM (boutique : 31 broches ; tableau : 27 au total), nombre de SPI (boutique : 3 ; la ligne du tableau indique 2), courant par broche (boutique : 4 mA ; tableau : 10 mA) — citer la page boutique pour la conception, vérifier contre le schéma.
  • Premiers pas sur le Teensy 4.0 : Teensyduino, Loader et premier Blink debutant Schéma : IMG-teensy-40-debutant-1-teensy40-premiers-pas-blink.svg — Teensy 4.0 vue de dessus (format 1,4 × 0,7 pouce, même empreinte que le Teensy 3.2), flèches sur la LED orange (pin 13), le bouton Program, la LED rouge du bootloader et le port micro-USB ; à côté, la fenêtre Teensy Loader.
  • GPIO et PWM sous 3,3 V : les règles d'or du Teensy 4.0 debutant Schéma : IMG-teensy-40-debutant-2-teensy40-gpio-pwm-3v3.svg — Teensy 4.0 sur breadboard (24 broches accessibles sans soudure) : bouton poussoir sur la broche 2 vers GND, LED + 330 Ω sur la broche 6 (broche PWM), broches 24-33 sur les pastilles inférieures ; encart « 3,3 V max — aucune tolérance 5 V ».
  • Entrées analogiques et capteur de température interne : le ADC et ses limites debutant Schéma : IMG-teensy-40-debutant-3-teensy40-analogique-temperature.svg — Teensy 4.0 : potentiomètre 10 kΩ entre 3,3 V et GND, curseur vers A0 ; encart sur la puce MIMXRT1062 avec la mention « capteur de température sur la puce » et retour du Moniteur série affichant volts et degrés.
  • Piloter un ruban WS2812 sans bloquer le CPU : WS2812Serial et OctoWS2811 intermediaire Schéma : IMG-teensy-40-intermediaire-4-teensy40-ruban-ws2812-dma.svg — Teensy 4.0 alimentant un ruban de 60 WS2812B : data sur la broche 1 (TX de Serial1), résistance de données, condensateur 1000 µF sur la ligne 5 V du ruban ; encart « DMA : le CPU continue de tourner pendant l'envoi ».
  • Contrôleur MIDI USB : un potard qui joue du piano (MIDIx4/MIDIx16) intermediaire Schéma : IMG-teensy-40-intermediaire-5-teensy40-controleur-midi-usb.svg — Teensy 4.0 relié par USB à un ordinateur affichant un DAW ; potentiomètre sur A0, encart « Tools > USB Type : MIDI », bulles note ON / note OFF vers la piste logicielle.
  • Comprendre la mémoire : 2 Mo de flash, 1 Mo de RAM TCM/DMA, EEPROM émulée et LittleFS intermediaire Schéma : IMG-teensy-40-intermediaire-6-teensy40-memoire-flash-ram-eeprom.svg — carte mémoire du Teensy 4.0 : puce flash externe W25Q16JV 2 Mo (1984 Ko utilisables, 64 Ko réservés EEPROM+restore), RAM 1024 Ko coupée en RAM1 (TCM, accès 1 cycle) et RAM2 (optimisée DMA), 16 octets de RTC RAM sur pile VBAT, 1080 octets d'EEPROM émulée.
  • Deux ports USB simultanés : périphérique 480 Mbit/s ET hôte USB sur les pastilles avance Schéma : IMG-teensy-40-avance-7-teensy40-double-usb-host-esclave.svg — Teensy 4.0 retourné montrant les pastilles inférieures : deux pastilles du port USB host (3,048 × 1,016 mm), pads de coupure VIN/VUSB, connecteur SD 4 bits ; à gauche le câble micro-USB vers le PC (device), à droite un clavier USB branché sur le port host via un adaptateur avec interrupteur de limitation de courant.
  • Chaîne audio 44,1 kHz : Audio Library, Design Tool, I2S, S/PDIF et sortie MQS avance Schéma : IMG-teensy-40-avance-8-teensy40-audio-44k-design-tool.svg — Teensy 4.0 avec Audio Shield empilé (rappel : broches déplacées sur Rev B, résistance 100 Ω sur MCLK) ; en médaillon la fenêtre du Design Tool PJRC avec un graphe de flux (générateur → filtre → sortie) exporté en code Arduino ; à droite les broches I2S, S/PDIF et la sortie MQS.
  • Pousser la carte : overclocking 912 MHz, gestion d'alimentation, sécurité et récupération avance Schéma : IMG-teensy-40-avance-9-teensy40-overclock-alim-securite-recuperation.svg — Teensy 4.0 avec dissipateur + petit ventilateur sur la puce MIMXRT1062, pile CR2032 sur VBAT, broche On/Off ; encarts : Tools > CPU Speed (600 → 912 MHz), LED rouge du bootloader (puce séparée), bouton Program avec la mention « maintien 13-17 s = effacement total ».

Bibliothèque de code — exemples écrits pour cette carte

  • clignotante.ino Arduino

    La LED de la broche 13 clignote à 1 Hz, pilotée depuis l'interruption SysTick : loop() reste entièrement libre. Un motif typique des cartes Teensy, dont le cœur ARM Cortex-M gère de vraies interrupti…

  • touche-capacitive.ino Arduino

    touchRead() est la fonction signature de Teensy : elle mesure la capacité d'une broche et détecte un doigt posé sur un simple fil, sans circuit 555 ni plaque capacitive dédiée. Idéal pour des interfa…

  • analogique-12-bits.ino Arduino

    Les ADC Teensy montent à 12 bits (0-4095) contre 10 sur Arduino classique. Ce croquis combine la moyenne matérielle (analogReadAveraging) et une fenêtre glissante logicielle pour une tension très sta…

  • midi-piano.ino Arduino

    Le Teensy se fait reconnaître en instrument MIDI USB sans aucun circuit : trois boutons jouent un accord de do majeur reçu directement par un DAW (Ardour, LMMS, GarageBand). La bibliothèque MIDI du c…

  • pwm-respiration.ino Arduino

    La LED respire avec une courbe de gamma 2,2 adaptée à la perception de l'œil. Sur Teensy, analogWriteFrequency() permet de choisir la fréquence PWM (ici 3 kHz) pour éviter tout sifflement audible des…

  • servo-angle.ino Arduino

    Combo typique Teensy : une touche capacitive pilote la vitesse d'un servo d'angle. La bibliothèque Servo du core fonctionne à l'identique des Arduino, et touchRead() fournit une valeur proportionnell…

  • bouton-led.ino Arduino

    Le bouton est lu par interruption externe : aucun appui perdu même si loop() est occupée. Un filtre de 30 ms dans l'ISR supprime les rebonds, et la section noInterrupts garantit une lecture cohérente…

  • ruban-neopixel.ino Arduino

    Un dégradé bleu-vert sinusoïdal glisse sur 24 LED NeoPixel. Le CPU 32 bits très rapide du Teensy calcule les couleurs en flottant à 25 images/s sans effort, ce qu'un AVR ne peut pas se permettre.

  • oled-i2c.ino Arduino

    Un écran OLED 128x64 en I2C affiche la tension lue sur A0 et le temps de fonctionnement. Le framebuffer géré par Adafruit_SSD1306 permet un affichage graphique complet (texte, courbes, sprites) avec …

  • buzzer-melodie.ino Arduino

    Une gamme montante puis descendante joue sur un buzzer passif via tone(). La mélodie est stockée en flash (PROGMEM + pgm_read_near_int), une habitude saine qui garde la RAM libre pour le traitement a…

Exemples et dépôts trouvés en ligne