🛠 Convertir la Duemilanove en programmateur AVR (ArduinoISP) pour graver des puces nues

Arduino Duemilanove — Board Fiche · avance · Schéma : IMG-duemilanove-avance-1-duemilanove-programmateur-avrisp.svg — Arduino Duemilanove reliée par son connecteur ICSP 2×3 à une ATmega328P sur plaque d'essai, six fils MOSI/MISO/SCK/VCC/GND/RESET étiquetés, IDE affichant le programmeur « Arduino as ISP », broche 10 en RESET du circuit cible annotée.

Objectives

The Duemilanove has a 2×3 ICSP connector, and the ATmega168/328 speaks the same language as any other AVR: using the ArduinoISP example from the core, the board becomes a serial AVR-ISP programmer. You will burn a bootloader onto a bare ATmega328P to turn it into a standalone Uno/Duemilanove clone — the classic approach for making custom boards, documented in the official "Programmer" tutorial.

Hardware

Complete Code

1) Charger l'exemple : Fichier > Exemples > 11.ArduinoISP > ArduinoISP
   (sur les vieux IDE : Examples > ArduinoISP). Televerser sur la
   Duemilanove avec le bon processeur (328 : 57600 / 168 : 19200).
2) Cables cible (Duemilanove -> ATmega nu, boitier DIP-28) :
   MOSI = broche 11 -> broche 17 (PC4)
   MISO = broche 12 -> broche 18 (PC5)
   SCK  = broche 13 -> broche 19 (PC6)
   RESET= broche 10 -> broche 1 (avec pull-up 10k vers VCC)
   VCC  = 5V        -> broches 7 et 21 ; GND -> broches 8 et 22
3) IDE : Outils > Programmateur > "Arduino as ISP" (le vieux nom
   "Arduino as ISP (ATmega328)" selon les versions).
4) Graver les fusibles puis le bootloader :
   Outils > Graver les fusibles (optionnel, cf. valeurs ci-dessous)
   Outils > Graver la sequenceur de demarrage  (bootloader "Arduino on a Breadboard")
   puis televerser un Blink en choisissant "Arduino Duemilanove or
   Diecimila / ATmega328" comme carte et "Arduino as ISP" si besoin.

Valeurs de fusibles officielles (ArduinoCore-avr boards.txt) :
  ATmega328 : low=0xFF  high=0xDA  extended=0xFD  (lock bits 0x0F)
  ATmega168 : low=0xFF  high=0xDD  extended=0xF8
Ligne de commande equivalente :
  avrdude -c arduino -p m328p -P COM7 -b 19200 -U lfuse:r:-:h -U hfuse:r:-:h

Expected Verification

"Burn Bootloader" completes without a "not responding" error; reading the fuses returns low=0xFF, high=0xDA, extended=0xFD for a 328. After burning the bootloader, uploading a Blink sketch (board: Duemilanove/ATmega328) makes the target's LED blink when powered independently — the bare chip has become a fully functional board.

Common Errors

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials