AUDIOINO, eine minimalistischer Arduino mit Programmierung über Line Out

Hallo Zusammen,

hier möchte ich mein minimalistisches Arduino-Clone Projekt vorstellen: Mit Hilfe des Audio Ausgangs kann ein Atmega168 programmiert werden. Die Hardware für die Programmierung besteht nur aus 2 10K-Ohm Widerständen, einem 10nF Kondensator und der Line-In Buchse.

Das Projekt befindet sich im Moment noch hier:

Was meint Ihr dazu?

Viele Grüße,
chris

Wow, cool :wink:

Danke für den positiven Kommentar :slight_smile:

Um den Atmega168 über Line-Out zu flashen, muss man zuerst ein Programm in der Arduino-Umgebung schreiben und dann das HEX-File mit dem Java-Flash-Programm übertragen.

Jetzt habe ich ein kleines Problem:
Bei der Arduino-Entwicklungsumgebung 017 finden sich die HEX-Files in den Ordnern der Scetches.
Bei der Version 022 kann ich die HEX-Files aber nicht finden.

Weiß jemand, wo die HEX-Files abegelegt werden?

The .hex file is the final output of the compilation which is then uploaded to the board. During a "Verify" the .hex file is written to /tmp (on Mac and Linux) or \Documents and Settings<USER>\Local Settings\Temp (on Windows). During upload, it's written to the applet sub-directory of the sketch directory (which you can open with the "Show Sketch Folder" item in the Sketch menu).

LINK

nichts zu danken =)

LG M²

Hallo squaremeter,

den Artikel im Link hatte ich schon gelesen. Allerdings scheint das nur noch für die 017er Version der Entwicklungsumgebung zu stimmen. Mit der 022er finde ich das HEX-File nirgends mehr.

den Artikel im Link hatte ich schon gelesen. Allerdings scheint das nur noch für die 017er Version der Entwicklungsumgebung zu stimmen. Mit der 022er finde ich das HEX-File nirgends mehr.

stimmt. aber ich habe einen weg gefunden das teil zu finden.
Einfach zu *C:\Dokumente und Einstellungen<username>\Lokale Einstellungen\Temp* navigieren (versteckte ordner anzeigen) und Suchen (Strg+F) nach *.hex(ja wirklich *)
auf die art und weise hab ich meine "countdown.cpp.hex" datei gefunden.
da ich aber nicht viel von den Dingern versteh kann ich dir nicht sagen obs das richtige ist... die Zahlen 0-F stehn auf jeden fall drin

LG M²

Danke, das muss ich mal ausprobieren :slight_smile: Ich habe auch gesucht, war aber wohl irgendwie zu doof :grin:

Einfach die Shift-Taste gedrückt halten wenn man den Compilerlauf startet. Dann werden die Compilermeldungen im Statusfenster angezeigt und ganz zum Schluss steht dann auch der Pfad zur HEX-Datei.

Und nicht die IDE zumachen, sonst wird die HEX-Datei gelöscht...

Einfach die Shift-Taste gedrückt halten wenn man den Compilerlauf startet. Dann werden die Compilermeldungen im Statusfenster angezeigt und ganz zum Schluss steht dann auch der Pfad zur HEX-Datei.

Ha, danke, danach suche ich ja schon lange, Danke :slight_smile:

Die Prozedur des Flashens gestaltet sich im Moment etwas umständlich, da ja das File dann immer gesucht werden muss.
Zum Flashen verwende ich ein Java Programm, welches das HEX-File in ein WAV-File umwandelt und dann als Sound abspielt.
Besser wäre, wenn man das Java-Programm irgendwie aus der Arduino-Umgebung starten könnte und es von dort gleich den richtigen Pfad zum Hex-Fiie mitbekommen würde.
Gibt es eine Möglichkeit, eigene Flasher in die Entwicklungsumgebung einzufügen?

Hier ein kleines Demo-Video:

Hallo,
wenn Du nach Dateien auf Deinem Computer suchst, kann ich Dir das Programm Everything empfehlen.
http://www.voidtools.com/
Es funktioniert allerdings nur mit NTFS-formatierten Festplatten.
Dafür weiß es allerdings sofort, wo die gesuchte Datei ist.
Es wird nur nach Dateinamen gesucht, nicht nach Inhalten.

Gruss
Kurti

Vielen Dank für den Hinweis, kurti.
Damit das Bootloader-Programm komfortabel zu benutzen ist, müsste ich aber vielleicht doch einen Weg finden, das Ganze automatisch anzubinden.

Die Doku ist jetzt online:

Und du wurdest im Bereich "Exhibition" erwähnt... :slight_smile:

Vielen Dank für die Information, das Projekt scheint ja die Leute doch sehr zu interessieren.
Mich würde es freuen, wenn die Leute es ausprobieren und die Erfahrungen damit posten.

Hallo Chris, ich finde die Idee mit dem Audiobootloader genial, zum peiswerten Flashen von AVRs unübertroffen. Leider ist es mir bisher nicht gelungen, den Code des Bootloaders mit AVR-Studio4 für einen ATmega8L zu compilieren (ATmega168 geht). Es gibt es 3Fehlermeldungen. Beim ursprünglich im September veröffentlichten Code taucht der ATmega8 noch als compilierbare Option auf, bei dem über den Elektor-Link publizierte Code ist nur noch der ATmega 168 vorgesehen. Leider ist beim überaus preisweren Conrad-PingPongSpiel mit 120LEDs onboard ein ATmega8L drauf. Diese preiswerte Hardware verbunden mit dem Audiobootloader wäre eine grandiose Sache. Zumal auch kein Quartz bestückt ist. Vielleicht schauen Sie oder jemand anderes mit einer Idee hier wieder vorbei und können mir einen Hinweis geben, wie ich den Code für die PinPong-Platine compilieren kann.
Falls die PingPongPlatine noch nicht bekannt ist hier mal ein Link zu einer (nicht von mir) geposteten Anwendung. Bei Conrad gibt es diese Platinen manchmal für weniger al 7€: http://www.elo-web.de/elo/mikrocontroller-und-programmierung/ping-pong/ping-pong-einparkhilfe-fuer-pkw-mit-distanz-sensor
Ansonsten wäre es natürlich super, wenn der Bootloader auf alle möglichen AVRs anpassbar wäre. Insofern könnte man so noch einige Leute mit dieser tollen Idee beglücken.
Gruß Johannes

Vieleicht hat der ATmega8 zuwenig RAM/ROM um ihn sinvoll in diesem Projekt einzusetzen. Darum ist er nicht mehr in der Liste.
Grüße Uwe

Hallo Uwe, danke für die schnelle Antwort. Ich glaube das aber doch nicht, da ja z.B. beim Arduino NG mit ATmega8 auch ein 1k Bootloader zum Einsatz kam. http://arduino.cc/hu/Hacking/Bootloader : "The ATmega8 bootloader only takes up 1 KB of flash. It does not timeout when it receives invalid data, you need to make sure that no data is sent to the board during the 6-8 seconds when the bootloader is running. " Aber vielleicht ist der von Chris gebaute Bootloader wieder ein paar Byte größer geworden und überschreitet die 1k-Grenze des ATmega8?
Gruß Johannes
P.S. ich habe nämlich einen "Klassensatz" PingPongs und fände die AudioFlashMethode gut geeignet, um Beginnern ohne teuertolle Hardware einen Einstieg in C zu ermöglichen. So könnten sie nach Flashen des Bootloaders selber eigenen Code brennen. Gerade für kleine billige AVRs ist das attraktiv. Da gerade in der Mai-Elektor der Artikel von Chris erschienen ist, tut sich vielleicht noch was....hier der Link zum Artikel: http://www.elektor.de/jahrgang/2012/mai/audio-bootloader.2139052.lynkx
Gruß Johannes

Am coolsten finde ich, dass es damit ja möglich sein sollte aus ein HEX eine WAV Datei zu generieren und dann von einem MP3 Player aus zu flashen. Hast Du schon mal ausprobiert ob das tatsächlich funktioniert?