🛠 Arduino as ISP : programmer un autre ATmega328P

Arduino Nano (Classic, ATmega328P) · avance · Schéma : IMG-nano-classic-avance-8-nanoc-arduino-as-isp.svg — Arduino Nano maître en Arduino as ISP relié par le connecteur ICSP 6 broches à un ATmega328P nu esclave sur breadboard avec quartz 16 MHz

Objectifs

Utiliser le Nano classique comme programmateur ISP (« Arduino as ISP ») pour graver le bootloader ou un binaire directement dans un second ATmega328P : on court-circuite le bootloader de la carte maître via le connecteur ICSP 6 broches situé en haut de la carte. C'est la voie de secours quand un bootloader est perdu, et le premier pas vers l'ATmega328P nu sur breadboard.

Matériel

Code complet

1. Cote MAITRE (Nano) : Televerser le croquis File > Examples >
   11.ArduinoISP > ArduinoISP (le sketch, PAS l'option « Burn the
   bootloader » qui suppose un programmateur deja branche).
2. Cabler ICSP maitre -> ICSP cible : MOSI-MOSI, MISO-MISO,
   SCK-SCK, RESET-RESET, VCC-VCC, GND-GND.
3. Cote IDE : Tools > Programmer > « Arduino as ISP ».
4. Graver les fusibles puis le bootloader :
   avrdude -c arduino -P COMx -b 19200 -p m328p -U flash:w:optiboot_atmega328.hex
   ou via l'IDE : Sketch > Upload Using Programmer, puis
   Tools > Burn Bootloader (choisir « Arduino as ISP (Nano) » si
   l'option dediee existe, sinon le speedo du sketch ArduinoISP).

Vérification attendue

avrdude ou l'IDE répondent « Connecting......done » puis lisent les signatures du ATmega328P (0x1E 0x95 0x0F). Après gravure du bootloader, la cible se comporte comme un Nano classique : le téléversement série refonctionne sur la carte gravée. Les fusibles lus (lfuse 0xFF, hfuse 0xDE) confirment le mode cristal pleine fréquence.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels