🛠 Premiers pas sur le Teensy 4.1 : Teensyduino, Teensy Loader et premier Blink
Objectifs
Découvrir la carte « couteau suisse » de PJRC : le Teensy 4.1 reprend le NXP i.MX RT1062 (Cortex-M7 à 600 MHz, officiellement overclockable à 912 MHz) du Teensy 4.0 dans un format plus long qui débloque 55 broches d'E/S, l'Ethernet, le SDIO natif et un second port USB. Ce tutoriel pose les bases : installer Teensyduino, téléverser un Blink, et comprendre la particularité n°1 de la carte — il n'y a aucun bouton reset matériel.
Matériel
- 1 Teensy 4.1 (fabrication SparkFun depuis mars 2025, vendu avec ou sans broches soudées) + câble micro-USB de DONNÉES
- PC Windows, Mac ou Linux avec l'Arduino IDE
- Aucun câblage : la LED orange de la broche 13 suffit
Installation et téléversement
- Installez l'add-on officiel Teensy via https://www.pjrc.com/teensy/td_download.html (alternatives prises en charge : PlatformIO, Visual Micro, et les Makefiles en ligne de commande fournis avec l'installeur).
- Dans l'IDE : Tools > Board > Teensy > Teensy 4.1, puis Tools > USB Type > Serial.
- Cliquez sur Upload : Teensy Loader se lance automatiquement. S'il ne détecte pas la carte, appuyez une fois sur le bouton Program — ce n'est PAS un bouton reset, il demande au bootloader de passer en mode programmation par USB.
- La LED rouge dédiée affiche l'état du bootloader : faible = en attente, vive = écriture flash en cours.
Point d'architecture capital : le bootloader vit dans une puce physiquement séparée (une GD32E230F8 sur les cartes après juin 2022). Les 8 Mo de flash principal sont 100 % à vous et un téléversement raté ne peut pas la brique. En cas de code vraiment récalcitrant, maintenir le bouton Program 13 à 17 secondes efface toute la mémoire non volatile et restaure le programme de secours (clignotement LED). Sans bouton Program accessible, prévoyez une recovery logicielle : la carte n'a aucune broche de reset, seul le reset logiciel (watchdog ou registre SCB_AIRCR) existe.
Code complet
void setup {
Serial.begin(9600); // série USB : le baud rate est ignoré
pinMode(13, OUTPUT); // LED orange — JAMAIS en INPUT_PULLUP :
// la LED de la broche fausse la lecture
}
void loop {
digitalWrite(13, HIGH);
delay(150);
digitalWrite(13, LOW);
delay(850);
}
Vérification attendue
La LED orange clignote une fois par seconde dès la mise sous tension — votre code s'exécute immédiatement au power-up, sans délai de bootloader. Le Moniteur série (USB Type = Serial) affiche ce que vous lui envoyez ; votre programme démarre plus vite que l'ouverture du moniteur, d'où le while (!Serial && millis < 3000); classique pour ne rater aucun message.
Erreurs fréquentes
- Câble micro-USB de charge seule : ni le Moniteur ni le Loader ne voient la carte — testez un autre câble.
- Chercher le bouton reset : il n'existe pas. Rebranchez l'USB ou appuyez sur Program pour reprogrammer.
- Oublier de changer USB Type : un sketch MIDI ou Keyboard téléversé avec le type Serial par défaut ne fait rien côté PC.
- Alimenter par la broche 3,3 V : elle est réservée à la SORTIE du régulateur embarqué (250 mA max en externe) ; l'entrée se fait en 5 V sur VUSB/VIN — et comme VUSB et VIN sont reliés, n'alimentez jamais VIN pendant que l'USB est branché.
Autres tutoriels pour cette carte
- GPIO et PWM sur le Teensy 4.1 : 55 broches en 3,3 V, ni 5 V tolérées ni traîne
- Entrées analogiques du Teensy 4.1 : 18 broches, 2 ADC, 0-3,3 V fixes et zéro DAC
- Logger sur carte SD via le port SDIO natif du Teensy 4.1
- Serveur web embarqué : l'Ethernet natif 10/100 du Teensy 4.1 (DP83825)
- Boîte à rythmes USB MIDI : classes MIDI, MIDIx16 et port hôte USBHost_t36
- Ingénierie mémoire du Teensy 4.1 : TCM, DMAMEM, EXTMEM, flash QSPI et EEPROM
Exemples de code pour cette carte
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduino