Bei meinen Experimenten und Nachbauten mit LoRaWAN und Arduinos, bin ich auch über das Thema Bootloader gestolpert. Die Vorteile eines alternativen Bootloaders liegen klar auf der Hand und können bei so manchen Bastelprojekten die entscheidende Lösung sein:
- Kleiner; Optiboot benötigt nur 1/4 der Größe und verschafft uns somit 1,5K mehr Speicherplatz.
- Mehr Möglichkeiten; MiniCore ermöglicht es die BOD anzupassen, dieses ist die Spannung bei der der Microcontroller abschaltet.
Ich stand jetzt nur vor der Frage, wie ich einen Bootloader auf meinen Arduino Pro Mini bringe. Die Sache ist eigentlich recht einfach, nur benötigt ihr noch einen ISP-Programmer. Ich habe mir dafür den Pololu USB AVR Programmer v2 zugelegt. Damit ist es einfach einen neuen Bootloader aufzuspielen. Ich zeige euch nun, wie ihr MiniCore auf euren Arduino brennt.
Konfiguration der Arduino IDE
Damit ihr MiniCore verwenden könnt, müsst ihr noch ein Paar Einstellungen in der IDE anpassen. Öffnet eure Arduino IDE und wählt anschließend Datei >> Voreinstellungen. Unter Zusätzliche Boardverwalter-URLs fügt ihr nun folgenden Eintrag ein:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
Wechselt nun zu Werkzeuge >> Board >> Boardverwalter. Der Platform-Inex wird nun geladen und ihr könnt anschließend nach unten scrollen und MiniCore auswählen und installieren. Damit kennt die Arduino IDE den MiniCore Bootloader und seine neuen Boards. Weiter geht es mit der Anschaltung.
Anschaltung Arduino und Programmer
Hier zeige ich euch nun, wie ihr alles miteinander verbinden müsst, damit ihr erfolgreichen einen Bootloader brennen könnt. Ich habe alles auf einem Breadboard zusammengesteckt und versorge den Arduino und den Programmer mit 3,3V.
Programmer | Arduino |
GND | GND |
VCC | VCC |
MOSI | MOSI (11) |
RST | RST |
SCK | SCK (13) |
MISO | MISO (12) |
Zusammengesteckt sieht es dann ungefähr so aus:
Bootloader Brennen
Nun können wir endlich den Bootloader brennen. Wechselt wieder zu eurer Arduino IDE unter den Punkt Werkzeuge. Unter Board wählt ihr neun im unterpunkt MiniCore euer entsprechendes Board aus und passt die weiteren Werte wie Clock, Variante, BOD und der Port eures Programmers an. Für den Pololu stellt ihr noch den Punkt Programmer auf Atmel STK500. Anschließend könnt ihr mit Bootloader brennen, den neuen Bootloader installieren.
Es hört sich anfänglich alles erst mal kompliziert an, aber die Sache ist nicht schwer und schnell erledigt.
Tolle Anleitung. Genau das, was ich gesucht habe. Danke!