Bareduino, Arduino on a Breadboard oder Rasterduino (so nenne ich quasi pure Atmega328p im Buch) sind bei Bastlern recht beliebt, wenn Schaltungen dauerhaft mit wenig Kosten aufgebaut werden sollen: Während Uno und Co mit mehr als 25€ zu Buche schlagen, liegt der Preis für einen nackten Atmega328P bei weniger als fünf Euro – sogar, wenn man ihn schnell mal beim blauen C in der Fußgängerzone holt. Dazu kommt, dass der Breadboard-Arduino mit niedrigerem Takt (und damit niedrigerer Versorgungsspannung) versehen werden kann als es bei einem Pro Mini 16MHz oder Uno der Fall ist.
Die Arduino-Entwicklungsumgebung macht gerade den Sprung auf Version 1.5. Optisch unterscheidet sich diese kaum von 1.0, doch im Hintergrund hat sich viel getan: Waren die alten Entwicklungsumgebungen hinsichtlich der Macros und Kommandos für Compiler, Bootloader, Fuse-Settings auf die AVR-Familie von Atmega fixiert, besteht nun Hardware-Wahlfreiheit. Die wird erstmal durch Arduino Zero und Co auf Basis eines ARM-Kerns vollzogen. Längerfristig heisst dies aber auch, dass so ziemlich jeder Hersteller von Microcontrollern durch die Bereitstellung eigener „Plug-Ins“ eine vollständige Integration in die Arduino-Familie erreichen kann: Dazu muss er Bibliotheken portieren, Compiler als Drop-In bereitstellen und Tools für Bootloader und Fuses. Der Aufwand ist größer, wenn es um eine komplett neue Controller-Familie geht, kleiner wenn es um Verwandtschaft geht. So ist es durchaus denkbar, dass Infineon, die bereits Entwicklerkits im Arduino-Formfaktor bereitstellen, den nächsten Schritt zur vollständigen Arduino-Integration gehen: Angesichts des ARM-Cortex-Cores wären am Compiler wohl keine Änderungen erforderlich.
Zurück zum Thema: Ich habe für Arduino 1.5 Hardware-Definitionen für nackte Atmega-328P erstellt – mit verschiedenen Fuse- und Takt-Einstellungen von 1MHz bis 16MHz, mal mit und mal ohne Brown-Out-Detection. Die Abschaltung des Brown-Out ist mir wichtig, weil diese es auch mal erlaubt, Sensorknoten, die geringe Datenmengen loggen, auf einer einzigen AAA-Zelle mit 1MHz laufen zu lassen. Ich habe dabei Gebrauch gemacht von der neuen einfachen Möglichkeit, Submenüs zu definieren und habe ein Auswahlmenü für „Clock“ eingefügt, mit dem Sie bestimmen, welcher Takt verwendet wird und ob BOD aktiviert ist (siehe Einstiegesbild).
Hier gibt es die Hardware-Definitionen Atmega328P on Breadboard for Arduino 1.5 zum Download. Zur Installation einfach im Ordner hardware/ im Arduino-Ordner der Heimatverzeichnisses entpacken. Unter 1.5 sollte kein Neustart notwendig sein – besser trotzdem die IDE beenden und erneut aufrufen. Attinys sind übrigens auch integriert und zumindest mit dem 1€ „teuren“ Attiny85 getestet, aber bei diesen müssen die Fuses noch manuell gesetzt werden – dazu mehr in einem separaten Artikel.
Pingback: Emils Ampel: Attiny45 im Tiefschlaf | Hausautomation mit Arduino