Willkommen auf mikrocontroller.bplaced.net, der Website welche ursprünglich von meinem Bruder Uwe betrieben wurde.
Diese Seiten hier sollen Einsteigern in der Welt der Mikroprozessoren das Leben erleichtern und den Umgang mit der Programmiersprache “C” näherbringen.
Die Librarys vereinfachen das benutzen der Komponenten einer CPU und man hat so mehr Zeit sein eigentliches Projekt zu realisieren.
Leider hat er sich dazu entschieden, seinen Blog nicht weiter zu aktualisieren, was dazu führte, dass zunächst die Website nicht mehr erreichbar war, und danach der Webspace gelöscht wurde;(
Zu meinem bedauern, und wohl auch zum Bedauern seiner Fan-Gemeinde ist damit eine tolle Dokumentation zum Thema Mikrocontroller STM32 verloren gegangen.
Deshalb habe ich mich dazu entschlossen, sein Werk hier wieder online zu stellen.
Eine Historie der neuesten Aktivitäten findet ihr hier , und die aktuelle Sitemap gibt es hier.
Neben dem Web-Interface gibt es noch ein zweites, sehr mächtiges Werkzeug: das One ROM Studio.
Während das Web-Tool perfekt für den schnellen Einstieg ist, richtet sich das Studio an alle, die komplexere Setups erstellen, speichern und wiederverwenden möchten.
One ROM – Praxis: Einsatz im Commodore C64 mit „set-c64“
In den letzten Artikeln ging es um Grundlagen und Custom Images. Diesmal wird es richtig konkret: Wir setzen ein One ROM direkt in einem Commodore 64 ein – mit einer fertigen Konfiguration aus dem Web-Interface.
👉 Ziel: Mehrere originale ROMs + Dead Test in einem einzigen Baustein
Ausgangssituation beim C64
Der C64 nutzt gleich mehrere ROMs:
Kernal-ROM
Basic-ROM
Character-ROM
Normalerweise sind das einzelne Chips – oder EPROM-Ersatzlösungen.
👉 Mit One ROM kannst du alle gleichzeitig ersetzen.
Verwendete Konfiguration
Wir nutzen genau das Setup aus dem Screenshot:
Model: Fire
PCB Revision: Fire 24 E
MCU Variant: RP2350
Firmware: v0.6.8
ROM Config:set-c64
Diese Konfiguration bringt bereits alles mit, was wir brauchen.
Was steckt in „set-c64“?
Das Image enthält mehrere komplette ROM-Sets:
🧩 Set 0 (Standard)
Kernal ROM 901227-03
Basic ROM 901226-01
Character ROM 901225-01
👉 Das entspricht einem normalen C64
🧪 Set 1 (Diagnose)
Dead Test Kernel 781220
Character ROM
👉 Perfekt für Fehlersuche – startet auch ohne funktionierenden RAM
🔀 Set 2 (Alternative Kombination)
Kernel + Basic Varianten
👉 Für Experimente oder Modifikationen
Einbau im C64
6
👉 Wichtig: Das One ROM wird im Kernal-Sockel eingesetzt.
Verkabelung (laut Image-Anleitung)
Zusätzlich musst du zwei Verbindungen herstellen:
Basic ROM CS (Pin 20) → SDRR Pin X1
Character ROM CS1 (Pin 20) → SDRR Pin X2
👉 Hintergrund: Das One ROM übernimmt alle drei ROMs und muss wissen, wann welches aktiv ist.
Besonderheit beim Character-ROM
Im Screenshot steht:
Character ROM CS2 is set to ‘ignore’
👉 Das liegt daran, dass diese Leitung im C64 fest auf +5V liegt. Daher ist sie immer aktiv und muss nicht extra angeschlossen werden.
Umschalten zwischen den ROM-Sets
Jetzt kommt der spannende Teil:
👉 Die Auswahl erfolgt über die SDRR Image Select Jumper
0 (alle offen) → Set 0 (Standard)
andere Kombinationen → Set 1 / Set 2
💡 Tipp:
Wenn du einen Schalter statt Jumper verwendest, kannst du bequem zwischen den Sets wechseln.
Im letzten Beitrag ging es um das Web-Interface und die grundlegende Bedienung. Diesmal schauen wir uns eine der spannendsten Funktionen von One ROM an: Custom Images.
Denn damit wird aus dem kleinen Board erst so richtig ein universeller ROM-Ersatz.
Was sind „Custom Images“?
Mit Custom Images kannst du dein One ROM genau an deine Anwendung anpassen:
eigene ROM-Daten verwenden
mehrere ROMs kombinieren
verschiedene Chip-Typen emulieren
Speicheraufteilung frei definieren
Kurz gesagt: Du baust dir dein eigenes „virtuelles EPROM“.
One ROM – Bedienungsanleitung für das Web-Interface
Nachdem wir uns im letzten Beitrag mit den ersten Schritten beschäftigt haben, geht es diesmal um das wohl wichtigste Werkzeug im Alltag mit One ROM: das Web-Interface.
Mit dem Browser-Tool kannst du dein One ROM komplett ohne zusätzliche Software programmieren – direkt über USB. Genau das macht das Projekt so angenehm im Handling.
One ROM Web ist ein browserbasiertes Tool, mit dem du dein One ROM direkt programmieren kannst – egal ob unter Windows, Linux, macOS oder sogar Android.
Das Ganze basiert auf WebUSB/WebSerial-Technik und läuft komplett im Browser. Ein externer Programmer ist nicht notwendig – das One ROM meldet sich einfach als USB-Gerät.
👉 Für die meisten Anwender ist das laut Projekt sogar der empfohlene Weg.
Voraussetzungen
Bevor du loslegst, solltest du ein paar Dinge beachten:
Chromium-basierter Browser (Chrome, Edge, etc.)
One ROM per USB angeschlossen
ggf. unter Linux: udev-Regeln setzen
⚠️ Wichtig: Firefox oder Safari funktionieren nicht, da die benötigte WebUSB-Technik dort fehlt.
Verbindung zum One ROM herstellen
Der Verbindungsaufbau ist erfreulich simpel:
One ROM per USB anschließen
Webseite öffnen
Auf „Connect“ klicken
Gerät auswählen (z. B. „One ROM“ oder „RP2350 Boot“)
Verbindung bestätigen
Danach liest das Tool automatisch die Firmware aus und zeigt erste Informationen an.
Überblick über die Oberfläche
Die Oberfläche ist in mehrere Bereiche aufgeteilt:
🔍 Device Information
Hier siehst du:
Firmware-Version
verwendeter Mikrocontroller
PCB-Revision
aktuell gespeicherte ROMs
Das ist besonders praktisch, um schnell zu prüfen, ob alles korrekt erkannt wurde und es können sogar noch weitere Details eingeblendet werden:
⚙️ Programming
Hier passiert die eigentliche Magie. Du hast mehrere Möglichkeiten:
Pre-built Image → fertige ROM-Sets auswählen
Custom Image → eigene Konfiguration erstellen
Local Image → Firmware-Datei vom eigenen Rechner laden
URL Image → Firmware direkt aus dem Internet flashen
Damit bist du extrem flexibel – vom schnellen Test bis zur komplexen Multi-ROM-Konfiguration.
🧩 Device & ROM Configuration
Hier stellst du Details ein wie:
Modell (Fire / Ice)
MCU-Variante
ROM-Typ
Chip-Select-Logik
Gerade letzteres ist wichtig, weil One ROM unterschiedlichste ROM-Typen emulieren kann – von klassischen EPROMs bis zu maskenprogrammierten ROMs.
Typischer Ablauf: One ROM programmieren
Jetzt wird’s praktisch.
Beispiel: Firmware flashen
Verbindung herstellen
„Pre-built“ oder „Local Image“ auswählen
passende Konfiguration wählen
„Program“ klicken
Danach läuft alles automatisch:
„Erasing“ (Löschen)
„Programming“ (Flashen)
👉 Das Ganze dauert in der Regel nur wenige Sekunden.
ROM-Images verwenden
One ROM kann mehrere ROMs gleichzeitig speichern und sogar dynamisch umschalten.
Im Web-Interface kannst du:
fertige ROM-Sammlungen nutzen
eigene Images hochladen
Konfigurationen anpassen
Für komplexere Setups lohnt sich später ein Blick auf:
One ROM Studio oder das GitHub-Projekt one-rom GitHub repository
Häufige Probleme
❌ Gerät wird nicht erkannt
falscher Browser
USB-Zugriff nicht bestätigt
❌ Verbindung bricht ab
Kabel / USB-Port prüfen
neu verbinden
❌ Flashen funktioniert nicht
falsche MCU-Variante gewählt
falsches Image
👉 Tipp: Im Zweifel einfach nochmal neu verbinden – das löst erstaunlich viele Probleme.
Fazit
Gerade für Einsteiger ist das Web-Interface ein echter Gamechanger: Kein Gefrickel mit Tools, kein extra Programmer – einfach Browser auf, klicken, fertig.
Das Web-Interface macht One ROM extrem zugänglich:
keine Zusatzsoftware notwendig
plattformunabhängig
schnell und unkompliziert
Für die meisten Anwendungen ist das völlig ausreichend – und genau deshalb auch der empfohlene Einstieg.
Ausblick
In einem der nächsten Beiträge schauen wir uns an:
Installieren Sie One ROM immer in der richtigen Ausrichtung. Pin 1 ist auf der Platine deutlich mit einem weißen L (Ecke) markiert. Der USB-Anschluss befindet sich immer gegenüber von Pin 1.
⚠️ Eine fehlerhafte Installation kann Ihre One ROM, Ihr Retro-System oder beides beschädigen.
Programmieroptionen
One ROM-Speicher ist entweder leer oder mit einem bestimmten Satz von ROM-Images vorprogrammiert. Sie müssen ihn vor der Verwendung mit den gewünschten ROM-Images programmieren.
Ihre Optionen sind:
One ROM Web
Eine webbasierte Anwendung, die in Chrome-basierten Browsern unter Windows, macOS, Linux und Android funktioniert. Dies ist die beste Option für die meisten Nutzer.
One ROM CLI
Eine Kommandozeilenanwendung für Windows, macOS und Linux.
Ermöglicht komplexere Anwendungsfälle wie das Programmieren mehrerer ROMs in ein einzelnes One-ROM.
One ROM Studio
Eine native Desktop-Anwendung für Windows, macOS und Linux.
Für fortgeschrittene Anwender konzipiert.
Aufbauend auf dem Quellcode
Für Entwickler, die es vorziehen, One ROM aus dem Quellcode zu erstellen und zu programmieren.
One ROM-Hardware
Bei der Sammelbestellung im VzEkC e. V. Forum haben wir das Model One ROM Fire in der 24poligen und 28poligen Version bestellt, jeweils mit USB-C Stecker und Raspberry Pi RP2350 Mikrocontroller (RP2354A0A4).
24-polig (Fire 24 Rev E) Emuliert maskenprogrammierte ROMs vom Typ 2316, 2332 und 2364 sowie EPROMs vom Typ 2716 und 2732. Unterstützt nun auch die Emulation von SRAM vom Typ 2016/6116.
28-polig (Fire 28 Rev A3 ) Emuliert maskenprogrammierte ROMs vom Typ 23128, 23256, 23512 und 231024 sowie EPROMs vom Typ 2764, 27128, 27256 und 27512.
USB-Programmierung
Beim ersten Programmieren eines One ROM über USB sind möglicherweise einige Einstellungen an Ihrem Computer erforderlich:
Windows: Erfordert keine spezielle Einrichtung.
macOS: Erfordert keine spezielle Einrichtung.
Linux: Wenn Sie One ROM Studio oder One ROM CLI verwenden, ist keine zusätzliche Einrichtung erforderlich. Bei Verwendung von One ROM Web müssen Sie möglicherweise eine udev-Regel einrichten, um den Zugriff auf das One ROM-Gerät zu ermöglichen. Gegebenenfalls müssen Sie Ihrem Browser auch den Zugriff auf USB-Geräte erlauben. Weitere Informationen finden Sie hier .
Android: Es ist keine spezielle Einrichtung erforderlich, allerdings müssen Sie einen Chrome-basierten Browser und ein USB-OTG-Adapterkabel verwenden, um das One ROM-Gerät mit Ihrem Android-Gerät zu verbinden.
ROM-Images
Ein ROM kann mit einer Sammlung verschiedener Arten von ROM-Images programmiert werden.
One ROM Web ermöglicht es Ihnen, aus einer kuratierten Sammlung beliebter ROM-Images für verschiedene Retro-Systeme auszuwählen und auch Ihr eigenes ROM-Image hochzuladen.
Neben diesen vordefinierten Sammlungen ermöglicht One ROM Studio das Erstellen eigener Sammlungen und deren Programmierung für One ROM mithilfe einer JSON-Konfigurationsdatei. Siehe diese Beispielkonfiguration .
Images auswählen
One ROM bietet flexible und leistungsstarke Optionen zur Auswahl zwischen ROM-Images beim Systemstart, zur dynamischen Auswahl zwischen ihnen (während das System läuft) und zur gleichzeitigen Bedienung mehrerer ROM-Sockets von einem einzigen One ROM-Socket aus.
Um diese Funktion zu nutzen, benötigen Sie die Stiftleisten des One ROM. Diese befinden sich zwischen den Pins 1 und 24/28 des Geräts. Falls diese Stiftleisten nicht bestückt sind, müssen Sie Standard-Stiftleisten mit 2,54 mm Rastermaß (0,1 Zoll) anlöten.
Anweisungen zur Verwendung der Header-Pins für die Bildauswahl finden Sie hier . Beachten Sie, dass verschiedene One-ROM-Revisionen möglicherweise unterschiedliche Pins zur Kennzeichnung verschiedener Bildnummern verwenden.
Wenn Sie ein einzelnes ROM-Image programmieren, benötigen Sie die Stiftleisten nicht.
Hinweis: Diese Beschreibung ist zum großen Teil die Übersetzung ins deutsche von diesem Artikel: Getting Started
Ausblick
In den nächsten Beiträge will ich die Bedienung der drei Programmiermöglichkeiten beschreiben:
Wenn euer One ROM Set bei euch ankommt, solltet ihr zunächst kurz prüfen, ob alle Bauteile vollständig sind. Im Lieferumfang enthalten sind:
die fertig bestückte Platine (24-polig bzw. 28-polig)
die passenden oberen Header-Pins
zwei rote Mini-Jumper
die passenden unteren Stiftleisten
Hier eine kurze Vorab-Info für alle, die ihre One ROM Platine zusammenlöten möchten:
Es ist ratsam, zuerst die oberen Header-Pins einzulöten, bevor die beiden unteren Stiftleisten montiert werden.
Die Stifte der unteren Stiftleisten sind auf beiden Seiten etwas unterschiedlich. Auf der einen Seite ist der Stift etwas dicker und etwas kürzer (im Bild unten auf der rechten Seite). Diese Seite wird mit der One ROM Platine verlötet. Die etwas dünneren Stifte auf der anderen Seite passen perfekt in einen IC-Sockel mit runden, gedrehten Stiftleisten. Hinweis: IC-Sockel mit Federleisten werden dennoch etwas aufgedehnt.
Die oberen Header-Pins werden allerdings nur benötigt, wenn ihr Funktionen wie Image-Wechsel oder Debugging nutzen möchtet. Beim Image-Wechsel können mehrere ROM-Inhalte auf das One ROM geflasht und anschließend per Jumper ausgewählt werden.
Für die reine Nutzung als ROM-/EPROM-Ersatz sind diese Pins nicht zwingend erforderlich.
Wenn ihr euch unsicher seid, empfiehlt es sich jedoch, die Header-Pins direkt mit einzulöten. Ein nachträgliches Einlöten ist zwar möglich, aber etwas aufwendiger.
Eine gute Erklärung dazu findet ihr hier:
Hinweis zu den Header-Pins für +5V und GND
Besondere Aufmerksamkeit solltet ihr den beiden Header-Pins für +5V und GND schenken.
In manchen Situationen kann es sinnvoll sein, diese Pins verfügbar zu haben – sie bergen jedoch auch die Gefahr, unbeabsichtigt mit einem Mini-Jumper gebrückt zu werden – WAS UNBEDINGT ZU VERMEIDEN IST!.
Wenn ihr sie nicht unbedingt benötigt, empfehle ich daher, die beiden Pins vor dem Einlöten zu entfernen, sodass sie gar nicht erst vorhanden sind.
Farbe: grün (andere Farben können Aufpreis haben, einfach ausprobieren)
Oberflächenausführung: LeadFree HASL oder ENIG (wenn du vergoldete Kontakte willst)
👉 Dann:
➡️ „PCB Assembly“ aktivieren
🔩 3. Assembly konfigurieren
Assembly Side: Top oder Botto, (je nach dem wo die Bauteile bestückt werden)
Alles weiteren Optionen können so belassen werden
Weiter Button drücken und bei der Vorschau nochmals mit weiter bestätigen
📦 4. BOM & CPL hochladen
Jetzt kommt der wichtigste Teil:
🔹 BOM hochladen
CSV mit LCSC Nummern
JLC mappt automatisch Bauteile
🔹 CPL hochladen
Positionen werden eingelesen
Process BOM & CPL drücken
🔍 5. Bauteile prüfen (sehr wichtig!)
Du bekommst eine Ansicht wie in deinem Screenshot:
Für jedes Bauteil:
✅ korrekt erkannt?
✅ verfügbar?
⚠️ „Extended“ = Aufpreis
❌ „Out of stock“ = Problem
👉 Optionen bei Problemen:
Ersatz wählen
Bauteil entfernen (DNP)
selbst bestücken
Component Placements
Weiter-Button drücken
Quote & Order
Produktbeschreibung auswählen
Save To Chart Button drücken
Nun liegt der Artikel im Warenkorb und kann bezahlt werden, Dabei muss eine Versandoption ausgewählt werden. Ich empfehle bei bestückten Platinen unbedingt FedEx Express auszuwählen. Damit hat man die wenigsten Probleme mit dem Zoll.
🧠 6. Typische Stolperfallen
❗ LCSC Part Number fehlt
→ Bauteil wird nicht erkannt
❗ Footprint passt nicht
→ falsches Package (z. B. SOP vs QFN)
❗ Rotation falsch
→ unbedingt Vorschau checken
❗ Nicht bestückbare Teile
USB
große Connectoren
spezielle ICs → oft manuell löten
🧪 7. DFM Check (automatisch)
Nach Bestellung:
JLC macht einen Design Check (DFM)
dauert ca. 1–6 Stunden
👉 Danach bekommst du:
finale Freigabeansicht
ggf. Rückfragen
🚚 8. Produktion & Lieferung
PCB: ~2–3 Tage
Assembly: ~3–5 Tage
Versand: ~3–7 Tage
💡 Profi-Tipps
⭐ Nutze möglichst Basic Parts (billiger, schneller)