🛠 Premiers pas sur le Teensy 4.0 : Teensyduino, Loader et premier Blink
Objetivos
Domina la placa más rápida de su categoría: el Teensy 4.0 incorpora un NXP MIMXRT1062DVL6 (Cortex-M7 a 600 MHz, oficialmente overclockeable a 912 MHz) en el diminuto formato de 1,4 × 0,7 pulgadas de los Teensy 3.x. Este primer tutorial establece las bases: instalar el entorno Teensyduino, cargar un Blink, comprender el ecosistema Teensy Loader + botón Program (¡la placa NO tiene reset de hardware!), y medir la velocidad real de los pines con el contador de ciclos.
Material
- 1 Teensy 4.0 (fabricado por SparkFun desde marzo de 2025, vendido con o sin pines soldados) + cable micro-USB de DATOS
- PC Windows / Mac / Linux con el Arduino IDE
- Ningún cableado: el LED naranja del pin 13 es suficiente
Instalación y carga
- Instala el complemento Teensy a través de https://www.pjrc.com/teensy/td_download.html (las alternativas oficiales son: PlatformIO, Visual Micro y el Makefile de línea de comandos incluido con Teensyduino).
- En el IDE: Herramientas > Placa > Teensy > Teensy 4.0, luego Herramientas > Tipo de USB > Serial (la lista es larga: MIDI, Teclado, Ratón, Audio, MTP, RawHID…).
- Haz clic en Cargar: Teensy Loader se inicia automáticamente. Si no detecta la placa, pulsa el botón Program de la placa — no es un botón de reset, solicita el modo de programación por USB.
- El LED rojo indica el estado del bootloader: tenue = en espera, brillante = escritura flash en curso.
Punto de arquitectura crucial: el bootloader reside en un chip físicamente separado (un GD32E230F8 en las placas posteriores a junio de 2022). El flash principal es 100 % tuyo y la carga no puede destruirlo. En cambio, no existe ningún pin de reset de hardware: solo se reinicia mediante watchdog de software o a través del registro SCB_AIRCR.
Código completo
// Blink + mesure réelle de la vitesse GPIO via le compteur de cycles
// 32 bits ARM_DWT_CYCCNT, incrémenté à la fréquence CPU (600 MHz).
void setup {
Serial.begin(9600); // série USB : le baud est ignoré
pinMode(13, OUTPUT); // LED orange (JAMAIS en INPUT_PULLUP :
// la LED polarise la broche)
}
void loop {
uint32_t start = ARM_DWT_CYCCNT; // instantané du compteur
for (int i = 0; i < 100000; i++) {
digitalToggle(13); // écriture broche la plus rapide
}
uint32_t cycles = ARM_DWT_CYCCNT - start;
Serial.printf("moyenne %u cycles par bascule\n", cycles / 100000);
delay(1000);
}
Verificación esperada
El LED naranja parpadea (visualmente casi apagado: el bucle alterna el pin millones de veces por segundo, digitalToggle se compila en una sola escritura de bit). El Monitor serie muestra el número de ciclos por alternancia — a 600 MHz, una decena de ciclos corresponde a una señal de varias decenas de MHz en el pin. Es la demostración inmediata de la potencia del M7 de doble emisión con predicción de saltos y memoria TCM.
Errores frecuentes
- Cable micro-USB solo de carga: el Monitor y el Loader no ven nada — prueba con otro cable.
- Buscar un botón de reset: no hay ninguno. Para reiniciar el programa, desconecta y vuelve a conectar el USB, o pulsa Program para reprogramar.
- Olvidar elegir el Tipo de USB: por defecto Serial funciona, pero si cargas un sketch MIDI o Teclado sin cambiar el tipo, no aparecerá nada en el PC.
- Usar el pin 13 como entrada con INPUT_PULLUP: el LED del pin distorsiona la lectura — la página de la tienda de PJRC lo señala explícitamente.
- Creer que la placa está muerta si Teensy Loader permanece «en espera»: pulsa una vez Program, el LED rojo debe encenderse tenuemente.
- Atención a la alimentación: la placa se alimenta con 5 V en VUSB/VIN; nunca alimentes por el pin de 3,3 V (solo salida, regulador integrado, máximo 250 mA externo).
Otros tutoriales para esta placa
- GPIO et PWM sous 3,3 V : les règles d'or du Teensy 4.0
- Entrées analogiques et capteur de température interne : le ADC et ses limites
- Piloter un ruban WS2812 sans bloquer le CPU : WS2812Serial et OctoWS2811
- Contrôleur MIDI USB : un potard qui joue du piano (MIDIx4/MIDIx16)
- Comprendre la mémoire : 2 Mo de flash, 1 Mo de RAM TCM/DMA, EEPROM émulée et LittleFS
- Deux ports USB simultanés : périphérique 480 Mbit/s ET hôte USB sur les pastilles
Ejemplos de código para esta placa
clignotante.inoArduinotouche-capacitive.inoArduinoanalogique-12-bits.inoArduinomidi-piano.inoArduinopwm-respiration.inoArduinoservo-angle.inoArduino