Mobiler AVR Brenner

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    Im Rahmen eines Projektes um die ATTINY85 Games für eine Kinderbetreuungsstätte bin ich auf der Suche nach einer rein mobilen Lösung dafür.

    In diesem Zusammenhang haben wir mehrere dieser Mini-Gaming Platinen angefertigt und zur Funktion gebracht.

    Die INO Dateien habe ich schon mit der Arduino Software in HEX Dateien übersetzt.

    Bisher haben wir die ATTINY mit der Software „burn-o-mat“ und einen DIAMAX AVR Brenner über eine Raspberry 3B auf diese AVR übertragen, was auch problemlos funktioniert.

    Da für die verschiedenen Grundplatinen auch unterschiedliche Software zur Verfügung steht, war nun mein Gedanke es mit einem PICO zu machen.

    Von der Grundvorstellung wollte ich ein SD Reader an das PICO anschließen und den AVR mit SPI verbinden. Dabei war mein weiter führender Gedanke auch noch einige Taster anzubringen, um die einzelnen Games von der SD-Karte auswählen zu können, um anschließend den Brennvorgang zu starten. Hintergrund meiner Anfrage ist hier eine Unabhängigkeit vom Stromnetz zu schaffen, zudem nicht immer einen vollwertigen Laptop mitführen zu müssen.

    Dazu meine Fragen:
    - Ist das mit einem PICO überhaupt umsetzbar ?
    - Hat jemand von euch schon jemals versucht über ein PICO einen anderen AVR zu brennen ?

    Sowie als abschließende Frage, was würde ich außer einem SD-Card-Reader und den Bedienelementen noch benötigen ? Besonders an Software die auf das Pico aufgespielt werden müsste.

    Ich danke für eure Unterstützung.

    Man mög emir verzeihen, wenn ich das falsche Forenthema ausgewählt habe.

    es grüßt
    Andre

  • Ist das mit einem PICO überhaupt umsetzbar ?

    die Hardware ist kein Problem.

    Ich sehe allerdings ein grosses Problem bei der Software: Auf dem Pico läuft kein Linux. Und damit ist es wieder ein Problem mit der Hardware.

    Das heisst du musst den Code der den ATTINY85 flasht irgendwo als Source nehmen (z.B avrdude) und auf dem Pico umsetzen. Ich kann mir nicht vorstellen dass das jemals jemand versucht hat.

    Der burn-o-mat benutzt hoechstwahrscheinlich avrdude als im Hintergrund laufende Software zum Flashen. Der AVR Brenner setzt die von avrdude kommenden Kommandos auf den ISP (SPI Interface) um. Die Brenner Software gibt es für Arduinos zusammen mit der Arduino IDE. Den Source Code von avrdude gibts auch, ist aber ziemlich komplex und du müsstest den Code irgendwie auf deine Bedürfnisse herunterbrechen.

    Vielleicht hat jemand eine Idee ob es eine Platform gibt auf der ein minimales Linux OS läuft so dass man avrdude leicht(er) portieren kann?

  • Hallo Nurazur und AndrePi!

    Es gibt doch dieses Brennprogramm für Arduino Uno - mit dem man vom PC über einen USB-TTL Konverter brennen kann. Auf dem PC braucht man dann natürlich avrdude oder sowas. Aber macht dieses Programm wirklich komplizierte Sachen oder schickt es mehr oder minder die kompilierte hex-Datei an den Uno und der brennt sie auf den Atmega? Ist es möglich, dass avrdude nur einen Header voranschickt mit ein paar Parametern. Möglicherweise ist der immer gleich, wenn man die gleiche Zielplattform benutzt.

    Ansonsten, wie ist es mit dem Pi Zerro oder Orange Pi Zero? Da läuft doch Linux und die Dinger sind klein und müssten bei 150 mA doch auch mal eine Weile mit Akku betreibbar sein. Mt ein paar Tastern und LEDs kann man das doch so hinbasteln, dass man keinen Bildschirm/Tastatur/Maus braucht.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo,

    und danke für die ersten Antworten.

    Jetzt habe ich mit den Antworten zwei neuerliche Probleme. Zum Ersten besitze ich noch kein solches System wie es Gnom vorgeschlagen hat, und zum zweiten, welche Aufwand müsste man dann im Detail betreiben, auch Materialbeschaffung, um das so umzusetzen ?
    Ich habe bei meiner Suche im Inetrnet zwar eine ähnliche Lösung basierend auf einem PIC-Kontroller gefunden, nur ist mir das alles viel zu aufwendig. Abgesehen davon das ich weder über einen Brenner für einen PIC verfüge, habe ich auch nicht die Möglichkeiten komplexe Schaltungen zu entwerfen, oder zu bestücken. Mir wäre es am liebsten, wenn man das alles mit diesen Laborkarten aufbauen könnte. Daher war mein Grundgedanke das mit einem PICO, oder einem ähnlichen System umzusetzen.

    Wenn wie du, Gnom, sagst, dort würde dann ein LINUX laufen, wie lang wäre dann die erreichbare Betriebszeit mit einer Power-Bank ? Wie verhält es sich dann, müsste ich dann diesen vorhanden Brenner mit an das System anschließen ? Und wie bekomme dann neue Programme auf den Datenträger ? Muss ich dann alles über dieses Linux machen, oder kann ich die SD karte einfach in einen Kartenleser mit einem Windows, oder AppleOS System stecken und die neuen HEX Dateien einfach darauf kopieren.

    Ich habe erst seit wenigen Wochen ein solche PICO und habe auch schon erste Versuche damit durchgeführt, wie ein Display ansteuern, oder ein Sensor auslesen, und die Werte dann auf dem Display dargestellt.
    Verzeiht mir bitte, es sind erst einmal Gedanken, denn ich hatte gelesen, dass diese AVR über die SPI Schnittselle programmiert werden können. Deswegen bin ich einfach davon ausgegangen so etwas einfach mit einem Kontroller machen zu können, in dem man die HEX Datei Stückchenweise von der SD Karte einlesen und dann zum AVR senden kann.

    Danke nochmals

    es grüßt
    Andre

  • Also, der Pi Zero oder der Orange Pi Zero braucht unter 200 mA. Mit einer Powerbank von 10 Ah kannst du das Ding 50 Stunden laufen lassen. Selbst ein normaler Pi 2A oder sowas läuft damit viele Stunden.

    Den Pico zum Standalon-AVR-Brenner zu machen, wird mit deinen geringen Vorkenntnissen sicher nicht so schnell gelingen. Nimm besser einen Pi Zero, mach ein Betriebssystem und avrdude drauf und schreib dir ein Programm, mit dem du mit ein paar Tasten und LEDs die Programme von SD-Karten auf die Atmegas schreiben kannst. Das dürfte die einfachste Lösung sein. Ein SD-Kartenleser muss wohl auch noch dran. Dein Brenner müsste dann logischerweise an den Zero. Das alles samt Powerbank in ein Gehäuse und schon hast du was brauchbares.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Die Idee mit dem Raspberry Pi Zero ist aus meiner Sicht ebenfalls die beste und einfachste Herangehensweise. Ich hab interessehalber ein wenig gesucht ob es kleine mobile Systeme mit Linux drauf gibt, aber was ich gefunden habe sind mehr oder weniger nur experimentelle und/oder Bastler Loesungen. Praktischerweise würde ich einen Zero W nehmen, der hat WiFi und damit tut man sich enorm viel leichter beim Entwickeln, Uebertragen von Dateien und Warten des Systems, weil man mittels SSH vollen Zugriff auf den Raspberry hat.

    Ein SD-Kartenleser muss wohl auch noch dran.

    Muss er nicht, weil der Raspberry Pi Zero sein Betriebssystem und sein Filesystem auf einer Mikro-SD Karte hat. Das ist schon einmal eine Komponente um die du dich dann nicht mehr kümmern musst.

    Ich gehe mal davon aus du machst das Raspberry OS (light Version) auf die SD Karte, zusammen mit avrdude und einem Verzeichnis in dem die hex Dateien stehen.

    Der AVR Brenner wird an dem (einzigen) USB Port angeschlossen den der Zero hat.

    Wie man ein paar Taster und LED's an den Raspberry hängt steht in jeder Anleitung für Raspberry Pi Anfänger.

    Das ganze mit einem Python Programm zusammen gehängt, ist das problemlos zu machen.

  • Hallo,

    ich finde es zu einem schon toll wie ihr euch um eine Alternatiive Lösung bemüht, nur ist da leider auch das Beschaffungsproblem.
    Weiterhin falls ich keiner falschen Informationsangabe aufgesessen bin, soll dieser eine USB Anschluß des Zero's nur für 350 mA ausgelegt sein. Wie bekomme ich damit sowohl den Brenner wie auch den SD-Kartenlaser darüber betrieben ?
    Ich habe dazu auch schon einiges versucht in Erfahrung zu bringen, nur so liest man auch hier, ist das Dateisystem dieses RasbianOS nicht ohne weiteres und mit Hilfe eines Windows-basierten PCs zu beschreiben. Die Anforderung bezüglich der Bereiststellung der HEX Dateien hatte ich schon klar genannt. SD-Karte nehmen beschreiben, und wieder ohne Tamtam in den mobilen Brenner stecken. Ich bracuhe dafür auch kein WLAN Interface, nicht rein gar nichts. Ein kleines Display, ein paar Taster und eine ISP Abgangsstecker mehr nicht. Sowie wie schon gesagt, der einfache Zugang zum Programm-Datenträger.

    Danke

    es grüßt
    Andre

  • Du musst dich wohl oder übel ein wenig einarbeiten. Das wird sich nicht von selbst vor deinen Augen materialisieren. Die Kosten sind überschaubar - wenn es an den 50 € hapert, wird dir kaum zu helfen sein.

    Der Brenner wird hoffentlich nicht sooooo viel Strom brauchen, dass es mit den Akkus knapp wird. Ich meine, was galubst du? Das Flashen dauert ein paar Sekunden... wie viel Strom soll das Ding denn ziehen? Und der Brenner muss ja nicht über USB versorgt werden.

    Es ist ja nett, wenn du dich da um was bemühen willst, aber viellicht bist du nicht ganz der richtige Aufgabenträger, wenn du kaum Vorkenntnisse, nur Bedenken und keine Motivation hast, dich einzuarbeiten und mit dem Kram zu beschäftigen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • soll dieser eine USB Anschluß des Zero's nur für 350 mA ausgelegt sein

    Und wo ist jetzt das Problem? Der Brenner nimmt < 10mA

    wie auch den SD-Kartenlaser darüber betrieben

    eben nicht. Der Raspbery Pi Zero W hat bereits einen SD Kartenleser integriert.

    Und der Brenner muss ja nicht über USB versorgt werden.

    nicht notwendigerweise, aber wenn es der o.g. DIAMAX Brenner sein soll dann schon.

    ist das Dateisystem dieses RasbianOS nicht ohne weiteres und mit Hilfe eines Windows-basierten PCs zu beschreiben.

    Fake News. Von der Raspberry Pi Foundation gibt es den "Raspberry Pi Imager" welcher auf meinem Windows 10 einwandfrei funktioniert. Daneben gibt es eine Reihe weiterer Tools wie z.B. den Win32DiskImager.

  • Moin!

    Ich habe dazu auch schon einiges versucht in Erfahrung zu bringen, nur so liest man auch hier, ist das Dateisystem dieses RasbianOS nicht ohne weiteres und mit Hilfe eines Windows-basierten PCs zu beschreiben.

    Ich glaube, er TE meint, wie er die Hex-Dateien auf den RPi bringen soll.

    Ganz einfach, mit einen FTP-Programm. Win-scp oder ähnliches.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Guten Morgen,

    ich kann selber keine Lösung anbieten. Jedoch möchte ich auf diese Zeile aus dem ersten Betrag aufmerksam machen.

    Bisher haben wir die ATTINY mit der Software „burn-o-mat“ und einen DIAMAX AVR Brenner über eine Raspberry 3B auf diese AVR übertragen, was auch problemlos funktioniert.

    Ich verstehe jetzt die Diskussion um ein zusätzliches RasPi , hier ein Zero oder 2B nicht.
    Ich nehme an, so wie es auch von Bernd666 verstanden wurde der TO AndrePi damit meint, er möchte eine separates möglicher Weise FAT32 Laufwerk nutzen, um die HEX Programmfiles für egal welche Variante bereitzustellen, ohne das er von außen auf die SD-Karte des RasPI durch umstecken der Karte in einen USB-Kartenleser an einem Windows PC, oder Apple Computer und damit auf die Betriebssystempartitionen zugreifen muss. Ausgehend von dem OTG USB-HUB einem USB Cardreader und dem angeschlossenen DIAMAX AVR Brenner würde ein Tausch der SD-Karte ( Programmfiles ) über den zusätzlich angeschlossenen SD-Kartenleser zu einem sofortigen Reboot am PI Zero führen.
    Das funktioniert also nicht, so wie es sich hier einige etwas leichtgläubig vorstellen.
    Vielleicht sollten sich die anderen Mitglieder die hier bezüglich des Handlings mit AVR Brennern mehr Erfahrungen haben darauf konzentrieren, eine klare Aussage zu machen.
    Hier muss man nicht um den heißen Brei herum reden, sondern einfach nur sagen, und die Frage des TO beantworten: -> "Es geht !" oder "Es geht nicht !". Damit kann man sich die ganze Diskussion ersparen, und auf eine Reaktion des TO dazu warten.

    es grüßt euer
    Willy

  • Dazu meine Fragen:
    - Ist das mit einem PICO überhaupt umsetzbar ?
    - Hat jemand von euch schon jemals versucht über ein PICO einen anderen AVR zu brennen ?

    Sowie als abschließende Frage, was würde ich außer einem SD-Card-Reader und den Bedienelementen noch benötigen ?

    Antworte hier mal aus meiner Sicht:

    1) Nur mit erheblichem Aufwand, ich würde es mir nicht zutrauen.

    2) Ich nicht

    3) Abhängig von 1, daher nicht einfach zu beantworten

  • Hier muss man nicht um den heißen Brei herum reden, sondern einfach nur sagen, und die Frage des TO beantworten: -> "Es geht !" oder "Es geht nicht !"

    Es geht!

    Der Rest ist Geschmacksache.

    Die Idee mit dem USB Cardreader ist insofern ungünstig als der Zero nur einen einzigen USB Port hat und der würde hier vom AVR Brenner benutzt. Ein zweites USB Gerät koennte man also nur mittels USB Hub anschliessen.

    Die Idee mittels extra SD Karte bestimmte/neue Dateien auf das System zu spielen finde ich auch ziemlich bloed, da ist SSH/FTP über WiFi wesentlich praktischer. Das System Einrichten, Autostart konfigurieren, Python Programm entwickeln/ueberspielen etc muss der TE sowieso auf der SD Karte im Slot machen. SD Karte rein-raus-rein-raus ist am Raspberry etwas problematisch, mir sind auf die Weise schon zwei Raspberries (Mk1 VersionB) kaputt gegangen.

    Aber wie gesagt das ist Geschmacksache.

  • Hallo,

    danke für WillyR_aus_Cs und Bernd666s Aussage.
    Ja, ich möchte wenn es mit einem PICO möglich ist, was in seinem letzten Beitrag nurazur gejate, via eines FAT/FAT32 Datenträgers die Programmdaten in Form der HEX Files bereitstellen. Damit benötige ich einen Leselaufwerk, wohl eine Kartenleser der mit dem PICO verbunden werden kann. In diesem Beitrag wird beschrieben wie man einen SD-Kartenleser an eine PICO anschließt.
    Damit, so denke ich, muss es doch möglich sein, auf das HEX File zuzugreifen, und dieses über den SPI Bus in den AVR zu übertragen. Leider habe ich noch keine wirkliche Anleitung gefunden, wie man diese Übertragung der Daten aus einem HEX File zu einem AVR bewerkstelligt.
    Braucht man denn hier wirklich eine System auf dem eine Vielzahl von Softwarepaketen installiert werden muss, oder ist diese Übertragung via SPI zu einem AVR das große Geheimnis ?

    es grüßt
    Andre

  • Also, wenn es mit dem Pi 3B problemlos geht, wo ist denn dann das Problem? Den 3B kann man ebenso mit einer Powerbank betreiben. Da sind einige Stunden kein Problem. Und ich nehme ja nicht an, dass da 24/7 im Dauerbetrieb gebrannt wird.
    Das Ding dann mit ein paar LEDs und Tastern oder einem stromsparenden Display auf Betrieb ohne Maus/Tastaur und vor allem ohne Bildschirm aufzupimpen, dürfte das geringere Problem sein.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo,

    Das Problem, ist die Größe und die Zeit die vergeht bis zur Einsatzbereitschaft.
    Wenn wir das ganze Gedöns um das Raspberry 3B mit Kartenleser, mit Brenner, allen Kabeln und zusätzlich noch einem Display, sowie den benötigten Tastern inkl. eines Akkus in einem geschlossenen Gehäuse unterbringen wollen, dann haben wir einen Kasten, fast einen Countainer. Das möchten wir so nicht. Das Ganze soll in eine Jackentasche passen, einfach einzuschalten sein, fast sofort einsatzbereit sein, und natürlich nicht auf Grund der Akkugröße zu einem Gewichtsmonster werden.
    Es geht so wie es auch schon von den beiden anderen Mitgliedern richtig gedeutet wurde um etwas Kleines, mit einer stabdichten Klappe für die SD-Karte sowie dem ISP Anschluß. Dazu ein kleines Display, nur wenige Tasten maximal 4 Stück für die Bedienung, und einen zentralen Hauptschalter. Dabei steht vor allem im Vordergrund eine SD-Karte mit den HEX Dateien welche von jedem Computer gelesen und beschrieben werden kann.
    Die Diskussion über ein System welches ein Betriebssytem benötig, eine relativ lange Zeit benötigt die Funktionsbereitschaft herzustellen entspricht nicht unseren Anforderunge. Punkt und Ende zu dieser Lösungsvariante ein vollständiges Raspbbery PI in ein Gehäuse zu stecken.
    Ich bzw. wir können sehr wohl mit der Aussage leben, es läßt sich mit einem Kontroller wie einem Raspberry PICO nicht umsetzen.

    es grüßt
    Andre

  • Die Diskussion über ein System welches ein Betriebssytem benötig, eine relativ lange Zeit benötigt die Funktionsbereitschaft herzustellen entspricht nicht unseren Anforderunge

    und doch ist sie der Dreh und Angelpunkt der ganzen Geschichte. Du machst es bis jetzt über ein System mit richtigen BS und mit kompilierter spezieller Software und willst das ganze jetzt on the Fly auf nen Pico klatschen. Klar geht das - wenn du fit in Micropython/ Circuitpython bist und dir den ganzen Spass, den jetzt die fertige Software macht, selbst zusammenschreibst ist das machbar. Die Frage ist, ist es sinnvoll und kannst du das? Gnom hat dir nen viel leichteren Weg vorgeschlagen. Und ein Rapsberry mit Display in nem 3D Druck-Gehäuse ist jetzt kein 7' Container. Du musst das Teil ja nicht andauern an und aus machen, falls dich die Bootzeiten stören

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hallo,

    Klar geht das - wenn du fit in Micropython/ Circuitpython bist und dir den ganzen Spass, den jetzt die fertige Software macht, selbst zusammenschreibst ist das machbar.

    Ja, ich würde mir die Zeit nehmen, mich auch einlesen, und wäre auch bereit die Zeit dafür zu opfern. Nur ist hier Skepsis weiter verbreitet, verbunden mit spekulativen Betrachtungen.
    Danke

    es grüßt
    Andre

  • Es gitb im Tiny85 einen Self Programming Mode (SPM). Damit soll es möglich sein, dass der Tiny sich Code von einer SD-Karte holt und selbst in seinen Programmspeicher schreibt. Das könnte eine Lösung sein. Die Tinys müssen natürlich so vorbereitet sein, dass sie SPM ausführen, aber das muss man wohl nur einmal machen.

    Ich gehe aber davon aus, dass auch diese Lösung nicht trivial ist. Du musst dir eine Hardware bauen (mti SD-Leser)) und du musst den Bootloader des Tiny anpassen.

    Ich habe hier ein paar Informationen zum SPM gefunden, die klingen, als wäre sowas möglich. Ohne vertiefte Vorkenntnisse, erscheint mir das aber nur schwer realisierbar zu sein.

    Das hier scheint in die gleiche Richtung zu gehen.

    Möglicherweise ist das hier genau das, was du suchst. Oder das hier.

    Aber trivial ist das sicher alles nicht.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Einmal editiert, zuletzt von Gnom (13. Januar 2023 um 14:29)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!