🛠 Premiers pas sur la Teensy 3.2 : Teensyduino, HalfKay et premier Blink
Objectifs
Découvrir la Teensy 3.2, la carte la plus célèbre de PJRC (USA) : un NXP/Freescale MK20DX256VLH7 (ARM Cortex-M4 sans FPU matériel) cadencé à 72 MHz, officiellement overclockable à 96 MHz, avec 256 Ko de flash et 64 Ko de RAM. Ce premier tutoriel pose l'environnement — Arduino IDE + add-on « Teensy boards » — et téléverse votre premier programme, en comprenant l'architecture de programmation unique de cette carte : le bootloader HalfKay vit dans une puce physiquement séparée (tout la flash principale est libre pour votre code et le bootloader ne peut pas être détruit par un flashage raté), le programme s'exécute immédiatement à la mise sous tension (aucun délai de bootloader comme sur les Arduino classiques) et le flashage est piloté par l'application Teensy Loader, invoquée automatiquement par l'IDE.
Matériel
- 1 carte Teensy 3.2 — attention, carte discontinued / EOL : la dernière série s'est vendue en octobre 2023 (« It is a painful decision for us to discontinue Teensy 3.2 after 11 years… NXP… simply can't [help with chip supply] », page boutique PJRC) ; des réapprovisionnements limités ont eu lieu (par ex. 7 juillet 2025 et 13 octobre 2025, limite 5 pièces par personne). Prévoyez des pièces de rechange ou envisagez la migration Teensy 4.0 recommandée par PJRC.
- 1 câble micro-USB DATA (les câbles « charge seule » sont la cause n°1 de carte non détectée)
- PC, Mac ou Linux avec un Arduino IDE récent
- La carte de brochage fournie dans le paquet (PDF card7a / card7b sur le site PJRC)
Installation de l'environnement
- Installez l'Arduino IDE, puis l'add-on Teensy : via le Boards Manager de l'IDE, ou en téléchargeant Teensyduino sur <https://www.pjrc.com/teensy/td_download.html>. L'add-on embarque une vaste collection de bibliothèques optimisées pour le Cortex-M4.
- Autres environnements pris en charge : PlatformIO (multiplateforme), Visual Micro (Visual Studio, commercial), ou les Makefiles en ligne de commande livrés avec Teensyduino dans
{Arduino}/hardware/teensy/avr/cores/teensy3/Makefile. - Dans l'IDE : Outils > Type de carte > Teensy 3.2, puis sélectionnez le port USB.
Code complet
// Blink version Teensy : la LED orange est sur la broche 13.
void setup {
pinMode(13, OUTPUT);
}
void loop {
digitalToggle(13); // fonction propre à Teensy : inverse l'état de la broche
delay(500);
}
Téléversement
Cliquez sur Téléverser : l'IDE compile, puis Teensy Loader s'ouvre et réclame l'entrée en mode programmation. Si la carte ne bascule pas toute seule, appuyez sur le petit bouton Program près du connecteur USB (ou reliez brièvement la broche Program à GND). Le HalfKay étant dans une puce séparée, un sketch bogué ne peut pas détruire le bootloader : le bouton reste toujours disponible pour reprendre la main — c'est votre filet de sécurité permanent.
Vérification attendue
La LED orange clignote toutes les 500 ms dès la mise sous tension, sans délai au démarrage. Débranchez puis rebranchez : le programme repart instantanément — la grande différence avec les Arduino classiques. Pour le Moniteur série, réglez Tools > USB Type: Serial et ajoutez un Serial.begin(9600) dans setup.
Erreurs fréquentes
- Mauvais type de carte : Teensy 3.2 (MK20DX256) n'est pas Teensy LC, 3.5/3.6 ou 4.0 — le compilateur ciblerait le mauvais microcontrôleur.
- Câble USB « charge seule » : Teensy Loader ne voit jamais la carte ; testez avec un autre câble.
- Attendre un auto-reset façon UNO : ici c'est Teensy Loader qui demande le mode programmation ; si la fenêtre se ferme trop vite, relancez le téléversement et appuyez sur le bouton Program.
- Oublier que la logique est en 3.3 V : HIGH = 3.3 V, 10 mA max recommandés par broche (les entrées sont en revanche 5 V tolerant).
- Paniquer devant une carte « morte » : voir le tutoriel avancé récupération (bouton Program, teensy_reboot, mode sécurisé FSEC).
- >
Autres tutoriels pour cette carte
- Broches, ADC 13 bits, DAC 12 bits et PWM : dompter les E/S de la Teensy 3.2
- Un instrument MIDI USB en 10 minutes : Bounce, boutons et règle d'or du drain
- Audio Shield SGTL5000 : boucle stéréo 44,1 kHz et outil de conception graphique
- OctoWS2811 : piloter 8 rubans WS2812 en parallèle par DMA (presque zéro CPU)
- Timers matériels, interruptions imbriquées et FASTRUN : la vitesse Cortex-M4
- Intégration produit : alimentation VIN/VUSB, régulateur 250 mA, RTC à quartz et EEPROM
Exemples de code pour cette carte
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduino