Introduction: Flash the Arduino Bootloader on an ATMega328

Questo tutorial ci permette di caricare il Bootloader nel caso in cui l'ATmega, presente su una bord di nostra creazione, sia vergine; come ad esempio nel caso in cui si vuole realizzare la Drivemall

Step 1: Materiale

- Per caricare il bootloader:

  • Arduino (da utilizare come programmatore)
  • ATMega328p (micro target su cui scrivere il bootloader Arduino)
  • Cristallo al quarzo da 16MHz
  • 2 condensatori ceramici da 22pF 1
  • resistenza da 10Kohm
  • 1 pulsante
  • 1 Breadboard Cavi vari

** Opzionale per alimentare il nuovo arduino **

  • 2 condensatori elettrolitici da 100uF
  • 1 regolatore lineare LM7805

- Per caricare sketch

  • Arduino UNO (senza ATMega) o in alternativa un converitore USB seriale (modulo FTDI) L'arduino su breadboard

Step 2: Caricare Il Bootloader Sull'ATMega328

1) Costruire il nuovo circuito Arduino seguendo lo schematico.

2) (Opzionale) Costruire il circuito di alimentazione.

3) Preparare l'Arduino in modo da poter caricare il bootloader sull'ATMega328.

  • Collegare l'Arduino al PC
  • Aprire l'IDE Arduino e caricare l'esempio ArduinoISP cliccando su File -> Examples -> ArduinoISP o in alternativa usando il fw in allegato.
  • Selezionare la board Arduino in uso nel menù Tools -> Boards.
  • Asssicurarsi che la porta in uso (Tools -> Port) corrisponda a quella dell'Arduino collegata al PC.
  • Caricare lo skecth cliccando sul tast "Load"

4) Collegare la board Arduino al circuito custom seguendo lo schema (Per evitare inconvenienti scollegare l'Arduino dal PC prima di collegarla al circuito custom).

5) Collegare l'Arduino al PC ed avviare l'IDE Arduino.

  • Selezionare quindi come board "Arduino/Genuino Uno" cliccando su "Tools -> Boards -> Arduino/Genuino Uno". Selezionare "Arduino as ISP" clicando su "Tools -> Programmer -> Arduino as ISP".
  • Assicurarsi che la porta corrisponda alla board Arduino collegata al PC, selezionando l'apposita voce in "Tools -> Port".
  • Caricare il bootloader cliccando su "Tools -> Burn Bootloader".

Step 3: Caricare Uno Sketch Con Un'altra Board Arduino Uno

Per poter caricare uno sketch sull'Arduino breadboard, bisogna usare o un'altra board Arduino UNO o un convertitore USB seriale come il modulo FTDI.

- Arduino UNO come programmatore

Nel caso si voglia usare un altro Arduino UNO per programmare l'Arduino breadboard, bisogna:

  • 1) Rimuovere il microcontrollore dalla board.
  • 2) Collegare la board all'arduino bradboard come indicato nello schematico.
  • 3) Connettere l'Arduino al PC.
  • 4) Scegliere o Creare uno sketch Arduino.
  • 5) Selezionare come board "Arduino/Genuino Uno" cliccando su "Tools -> Boards -> Arduino/Genuino Uno".
  • 6) Selezionare "USBasp" clicando su "Tools -> Programmer -> USBasp".
  • 7) Asssicurarsi che la porta in uso (Tools -> Port) corrisponda a quella dell'Arduino collegata al PC.
  • 8) Cliccare sul pulsante "Load".

-

Step 4: Convertitore USB Seriale

Convertitore USB Seriale

Nel caso non si abbia a disposizione un Arduino UNO da usare come programmatore, è possibile usare un convertitore USB seriale. In questo caso bisogna:

  • 1) Collegare il convertitore all'Arduino breadboard nel seguente modo:
    • pin RXD -> pin Tx ATMega328 (pin 3)
    • pin TXD -> pin Rx ATMega328 (pin 2)
    • GND -> GND (pin 8)5v -> Vcc (pin 7)
    • pin DTR -> pin RESET ATMega328 (pin 1)
    • Nel caso il modulo non abbia il pin DTR, è possibile comunque eseguire il caricamento eseguendo un reset manuale.
  • 2) Connettere il modulo FTDI al PC.
  • 3) Scegliere o Creare uno sketch Arduino.
  • 4) Selezionare come board "Arduino/Genuino Uno" cliccando su "Tools -> Boards -> Arduino/Genuino Uno".
  • 5) Selezionare "USBasp" clicando su "Tools -> Programmer -> USBasp".
  • 6) Asssicurarsi che la porta in uso (Tools -> Port) corrisponda a quella dell'Arduino collegata al PC.
  • 7) Cliccare sul pulsante "Load".

ATTENZIONE:

  • Se il modulo FTDI non ha il pin DTR, tenere premuto il tasto di RESET sulla breadboard e poi cliccare sul tasto "Load". Tenere premuto fin quando l'IDE non mostra il messaggio "Uploading…". Appena viene mostrato questo messaggio, rilasciare il pulsante. A qusto punto il caricamento dovrebbe procedere senza problemi.