🛠 Programmer par FTDI et dompter le bootloader

LilyPad Arduino · avance · Schéma : IMG-lilypad-avance-2-lilypad-ftdi-bootloader.svg — LilyPad reliée à un adaptateur FTDI USB-série, ligne DTR mise en évidence et quartz 8 MHz encadré à côté d'un 16 MHz barré.

Objectifs

Maîtriser la chaîne de programmation FTDI → LilyPad : pilote VCP, port série, bootloader ATmegaBOOT (hex « pro 8 MHz » compatible Optiboot), reset automatique par la ligne DTR, débit d'upload 57600 bauds pour l'option ATmega328P. Et savoir diagnostiquer un bootloader ou une horloge mal configurés.

Matériel

Code complet

// Test de chaîne : timing exact + série pour valider bootloader, FTDI et horloge
// Carte requise : « LilyPad Arduino » (ATmega328P @ 8 MHz, upload 57600 bauds)
const uint8_t LED = 13;

void setup {
  Serial.begin(9600);
  Serial.println(F("Boot OK — 8 MHz"));
  pinMode(LED, OUTPUT);
}

void loop {
  unsigned long t0 = micros;
  digitalWrite(LED, HIGH);
  delay(1000);                   // doit durer 1,000 s pile si F_CPU = 8 MHz
  digitalWrite(LED, LOW);
  unsigned long t1 = micros;
  Serial.print(F("delay(1000) mesure : ")); // ~1 000 000 µs attendu
  Serial.print(t1 - t0);                    // ~2 000 000 => configuré 16 MHz !
  Serial.println(F(" us"));
  delay(1000);
}

Vérification attendue

Après téléversement, le moniteur série (9600) affiche « Boot OK — 8 MHz » puis des lignes proches de 1 000 000 µs : bootloader, horloge et FTDI sont bons. Le reset automatique fonctionne : à chaque clic sur « Téléverser », l'IDE remet la carte à zéro sans appuyer sur le bouton. Un facteur 2 (≈2 000 000 µs) dénonce une configuration 16 MHz.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels