AZ-Delivery Nano V3 - Bootloader flashen

Herzlich willkommen zu unserem heutigen Blog-Beitrag. Heute möchten wir eine oft gestellte Frage aus unserer Support-Abteilung beantworten: wie kann ich auf dem Nano den Bootloader neu flashen?

Mikrokontroller wie der NanoV3 werden mit einem bereits aufgespielten Bootloader ausgeliefert. Diser ermöglicht es das Modul über die Arduino IDE mit Programmen zu beschreiben.

Wenn das Modul also nicht mehr funktioniert kann es daran liegen, dass der Bootloader fehlerhaft ist. Außerdem ermöglicht diese Methode Module mit dem original Bootloader auf dem neusten Stand zu flashen, damit man bei "Prozessor" nicht jedes Mal "old Bootloader" auswählen muss.

Um den Chip neu zu programmieren benötigen wir ein Programmiergerät. Hierfür existieren zwar spezielle Programmiergeräte, jedoch haben die meisten schon eine passende Lösung in der Schublade liegen.

Daher zeigen wir Ihnen heute wie Sie aus dem Uno R3 ein Programmiergerät machen, und damit einen Nano mit einem neuen Bootloader zu versorgen.

Dazu schließen wir den Uno R3 an den PC an, und starten die ArduinoIDE. Im Menü "Datei gehen wir auf "Beispiele" -> "11. ArduinoISP" -> "ArduinoISP".

 

Nun stellen wir sicher, dass wir als Board "Arduino/Genuino Uno" ausgewählt, und der richtige COM-Port eingestellt haben, und laden den Sketch auf unseren Uno R3.

Jetzt verkabeln wir unseren Uno mit unserem NanoV3 wie hier im Bild zusehen:

 

Eventuell kann es möglich sein, dass Sie einen 10µm Kondensator am programmierenden Controller zwischen GND(-) und RESET(+) hinzufügen.

Nachdem wir alles richtig angeschlossen haben, müssen wir in der Arduino IDE noch ein paar wenige Einstellungen vornehmen, damit wir den neuen Bootloader auf den Nano flaschen können.

Dazu gehen wir im Menü auf "Werkzeuge" und wählen den "Arduino Nano" als Board aus. Als Com-Port lassen wir den Uno ausgewählt, und als Programmer stellen wir "Arduino as ISP" ein.

ACHTUNG: die Optionen ArduinoISP und ArduinoISP.org funktionieren nicht, sondern nur der Eintrag "Arduino as ISP"

Nachdem wir alle Einstellungen nochmals überprüft haben, können wir über das Menü "Werkzeuge" mittels "Bootloader schreiben" den Flash-Vorgang starten. Nach nur wenigen Augenblicken ist der Vorgang abgeschlossen und unser Nano V3 ist ab sofort wieder einsatzbereit.

 

Letzter Artikel Digispark als Eingabegerät

Kommentar

Volker Holst - Mai 8, 2019

Bei meinen Versuchen kommt immer wieder nach wenigen Sekunden die Meldung:

“Arduino: 1.8.5 (Windows 10), Board: “Arduino Nano, ATmega328P (Old Bootloader)”

avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Fehler beim Brennen des Bootloaders."

und der Bootloader wird nicht auf den Nano gebrannt (weder alter noch neuer BL).
Reset direkt oder mit 10µ gegen GND bleibt egal.

Was kann die Urlache sein?

Auf den Uno R3 läßt sich das “Arduino as ISP” problemlos laden, ageschlossen nach Skizze / Tabelle oben.

Danke für die eventuelle Antwort.

Foobar - Januar 1, 2019

Bei mir kommt der Fehler:
Arduino: 1.8.8 (Linux), Board: “Arduino Nano, ATmega328P”

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0×00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0×00
Fehler beim Brennen des Bootloaders.

Wie gehe ich nun weiter vor?

Gunther Knierim - Januar 1, 2019

Die folgende information von den Arduino Seiten ist hilfreich wenn ander Boards als der UnO als Programmer benutzt werden sollen.

The programming process uses VCC, GND and four data pins. Three pins connect MISO, MOSI and SCK between the programming micro and the target micro, the fourth pin from the programming micro goes to the reset pin of the target.
How to wire your boards
The following table display on which pins the MOSI, MISO and SCK are broken out on the different Arduino boards:
Arduino / Genuino Board MOSI MISO SCK Level
Uno or Duemilanove 11 or ICSP-4 12 or ICSP-1 13 or ICSP-3 5V
Mega1280 or Mega2560 51 or ICSP-4 50 or ICSP-1 52 or ICSP-3 5V
Leonardo ICSP-4 ICSP-1 ICSP-3 5V
Due ICSP-4 ICSP-1 ICSP-3 3,3V
Zero ICSP-4 ICSP-1 ICSP-3 3,3V
101 11 or ICSP-4 12 or ICSP-1 13 or ICSP-3 3,3V
MKR Family 8 10 9 3,3V
The SPI interface – and therefore these pins – is the interface used to program the AVR microcontrollers. Note that MISO, MOSI, and SCK are available in a consistent physical location on the ICSP header; this connector is used also by shields that rely on the SPI interface allowing the design of shields that work on every board.

Michael Reichelt - November 5, 2018

Bitte mehr Hintergrundinformationen: z.b. Was passiert generell bei dem Vorgang? Warum der Umweg über den Nano? Die Ardurino IDE kann das doch auch direkt über USB. mfg

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe