Retro Projekt – DiskBuddy 64

Last Updated on 3. October 2026 by Link status: OKSuffocation

USB-zu-IEC-Adapter zum Anschluss eines C64 Diskettenlaufwerks an einen PC oder MAC. Der Adapter kann zum Testen der Laufwerke oder zum Sichern von alten Disketten verwendet werden.

Ich habe die Stick-Version aufgebaut, es gibt auch noch eine mit micro USB Anschluss und DIN6 Rund Buchse, mir gefiel diese Variante aber besser.

Nur zur Klarstellung das Projekt ist nicht mein geistiges Eigentum sondern wurde vom Entwickler mit hohem zeitlichen Aufwand realisiert und der Allgemeinheit zur Verfügung gestellt. Sollte das Projekt gefallen zollt dem Entwickler doch mal euren Respekt mit einem Like oder vielleicht sogar mit einer (Kaffee) Spende.

Link status: OKGitHub – DiskBuddy64
Link status: BrokenNachfolgeprojekt – Disk Master64

Views

Facts

  • USB zu IEC (Commodore Serial Device) Adapter
  • USB Anschluss für den PC oder MAC
  • Din 6 Rund Stecker für den Anschluss an die C64-Floppy
  • Schalter zum Programmieren der Firmware

Circuit diagrams

Disk Buddy 64 – Schaltplan – Link status: OKWhat

Documentation

Die serielle Schnittstelle des C64, basierend auf dem seriellen IEC-Bus, dient primär dem Anschluss von Peripheriegeräten wie Diskettenlaufwerken und Druckern in einer Reihenschaltung. Der 6-polige DIN-Anschluss überträgt Daten softwaregesteuert über das KERNAL, was aufgrund von Designbeschränkungen zu geringen Übertragungsgeschwindigkeiten führt, die oft durch Schnelllader kompensiert wurden. Mehr Informationen finden Sie auf der Seite Link status: OKc64-wiki.de

Structure

Record

DescriptionWorth
Gerber available Yes
Gerber fileLink status: OKGitHub Gerber (Stick)
Ordered whereJLCPCB
Piece10
Price + Tax and Delivery15€
Special featuresLeadfree, Black
PCB order data

Hier habe ich die Gerberdateien konserviert, bitte auf der Originalseite schauen, ob es etwas Neueres gibt.

Link status: OKDiskBuddy64_Stick_GerberLink status: OKDownload

Components

Die Bauteile habe ich beim schnellen Ali und ein Teil bei LCSC bestellt. Der Preis für eine Einheit liegt bei ca. 6€ ohne Verbrauchsmaterialien und Arbeitszeit.

ComponentSizeNumberDescriptionPrice €Stock
Record1Meine sind von JLCPCB1,50x
C210u, 06031Kondensator SMD CL10A106MA8NRNC0,10x
C1, C3, C4100n, 06033Kondensator SMD CC0603KRX7R9BB1040,30x
LED1LED06031Power LED Rot KT-0603R0,20x
R1,R21K, 06032Widerstand SMD0,20x
SW1SW-SMD_K3-2380S-E11SMD Schalter mit seitlichen Kontakten0,20x LCSC
U1AT-Tiny 412-SSN,
SOP-8_150MIL
1Atmel-Tiny 412-SSN1,40x LCSC
U2CH340N,SOP-8_150MIL1USB – Serial Treiber0.40x LCSC
USB1USB A, Stecker1USB A Anschlussstecker0,20x
X1Din rund 6 Pol, male1DIN6 Rund Stecker 1,00x
X2Kabel, 4 Pol0,5mDatenkabel für Stecker X10,50x
Bauteile Gesamt14Summer6,00€
Bill of materials

Structure

Variations

Wer denkt, den Atmel-Controller vor dem Auflöten oder später mit einem Clip beschreiben zu müssen, der irrt. Der Atmel Tiny 412 ist mit einer UPDI-Schnittstelle ausgestattet und der verbaute Schalter ermöglicht es, ihn über die USB Schnittstelle zu programmieren. Wer mehr dazu erfahren möchte, für den habe ich einen kleinen Beitrag im Sonstiges-Kapitel angehängt.

Order

  1. SMD Widerstände und Kondensatoren
  2. SMD ICs
  3. SMD Schalter
  4. SMD LED – nicht weil es in die Reihenfolge passt, sondern weil die so nervig zu löten sind: Sie sind leicht, kleben gerne an der Pinzette und sind gepolt ….
  5. USB-A Anschluss und Kabel für den DIN-Stecker
  6. Din-Stecker an Kabel löten

Case

Es gibt auch ein passendes und funktionales Gehäuse dazu. Ich habe ihm noch einen Kabelbinder spendiert, weil mein Kabel etwas dick ist und das Gehäuse leicht aufgehen könnte.

Link status: OKhttps://github.com/wagiminator/C64-Collection/tree/master/C64_DiskBuddy64/3dprint

Link status: OKDiskBuddy64_Stick-3dprintLink status: OKDownload

Commissioning

Driver

Unter Mac und Linux werden keine Treiber benötigt, unter Windows kann es nötig sein, den CH340-USB-Treiber zu installieren.

Den Treiber gibt’s unter Link status: OKhttps://github.com/storef/ch341.driver. Die aktuelle Version habe ich hier konserviert, holt sie euch besser von der Originalseite, die Version könnte aktueller sein.

Link status: OKCH341SERLink status: OKDownload

Firmware

Im Projekt sind einige Python-Dateien enthalten, die es einfach machen, den Adapter zu programmieren und zu nutzen. Es gibt auch eine Oberflächenanwendung, die mit dem folgenden Befehl gestartet werden kann.

python3 diskbuddy-gui.py 

Die UI starten, den Adapter auf UPDI stellen und den Knopf „Flash Firmware“ auswählen.

C64 disk Buddy - Oberfläche
C64 disk Buddy – Oberfläche

Danach nicht vergessen, den Schalter wieder auf serielle Kommunikation zu stellen.

Application

Mit der bereits gezeigten App können Images von Disketten gespeichert werden oder von gespeicherten Images zurück auf Diskette geschrieben werden.

Miscellaneous

Pinout IEC Anschluss

Source: Link status: OKhttps://blog.projectgalen.com/2020/05/20/c64-128-port-pinouts/

Data sheets

CH340N

Source: Link status: OKhttps://cdn.sparkfun.com/assets/5/0/a/8/5/CH340DS1.PDF

Link status: OKCH340DS1Link status: OKDownload

AT-Tiny 412-SSN

Source: Link status: OKhttps://www.mouser.de/datasheet/3/282/1/ATtiny212_214_412_414_416_DataSheet_DS40002287A.pdf

Link status: OKATtiny212_214_412_414_416_DataSheet_DS40002287ALink status: OKDownload

Das Unified Program and Debug Interface (UPDI)

Mit der Einführung moderner AVR®-Mikrocontroller-Familien wie den tinyAVR® (Serien 0, 1 und 2), megaAVR® sowie den leistungsstarken AVR® Dx hat Microchip die klassische In-System-Programmierung (ISP) grundlegend abgelöst. An deren Stelle tritt das innovative Unified Program and Debug Interface (UPDI). Während ältere Generationen für den Programmiervorgang oft vier bis sechs dedizierte Pins blockierten, revolutioniert UPDI das moderne Platinendesign durch eine extrem minimalistische Eindraht-Architektur.

Die gesamte Kommunikation erfolgt bidirektional im Halb-Duplex-Verfahren über eine einzige, dedizierte Datenleitung und basiert auf dem standardisierten, asynchronen UART-Protokoll. Dieser hocheffiziente Ansatz spart wertvolle I/O-Pins am Mikrocontroller ein. Besonders bei kompakten Gehäuseformen – wie dem ATtiny im winzigen 8-Pin-Layout – entscheidet dies oft darüber, ob ein Projekt überhaupt realisierbar ist. Neben dem reinen Schreiben und Lesen des Flash-Speichers ermöglicht UPDI über dieselbe Leitung auch ein hardwarenahes On-Chip-Debugging (OCD) in Echtzeit.

Technische Kernpunkte der Schnittstelle

  • Eindraht-Architektur: Die Kommunikation läuft vollständig über eine einzige Datenleitung (UPDI_DATA) plus Bezugsmasse (GND).
  • UART-Protokoll: Da die Schnittstelle intern auf einer asynchronen seriellen Verbindung aufbaut, bleibt der Hardware-Aufwand für Programmiergeräte minimal.
  • Maximale Pin-Effizienz: Eingesparte Programmierpins stehen in der fertigen Schaltung uneingeschränkt als funktionale Ein- und Ausgänge für Peripherie zur Verfügung.

USB-Programmierung in der Praxis

Da moderne PCs und Notebooks keine nativen UPDI-Schnittstellen besitzen, wird die Verbindung im Entwicklungsalltag über USB hergestellt. Dafür haben sich zwei gängige Lösungswege etabliert:

Variante A: Der USB-zu-TTL-Seriell-Konverter (Kostengünstige DIY-Methode)

Hierbei greift man auf einen gewöhnlichen USB-Seriell-Adapter zurück, beispielsweise mit einem weit verbreiteten CH340-, CP2102- oder FT232-Chip. Der entscheidende Kniff für die Eindraht-Kommunikation: Die Sende- (TX) und Empfangsleitung (RX) des Adapters werden über einen einfachen Widerstand (ca. 4,7 kΩ) oder eine Diode miteinander verbunden und an den UPDI-Pin des Chips geführt. Etablierte Softwaretools wie pymcuprog or AVRDUDE steuern den Controller dann direkt über einen virtuellen USB-COM-Port an.

Variante B: Dedizierte Hardware-Programmer

Für professionelle Ansprüche unterstützen offizielle Werkzeuge wie das Atmel-ICE oder das PICkit 4 das UPDI-Protokoll nativ über USB. Sie bieten den Vorteil, dass sie nahtlos in Entwicklungsumgebungen wie Microchip Studio oder MPLAB X integriert sind und echtes Live-Debugging unterstützen. Alternativ existieren spezialisierte, günstige USB-Adapter wie der Adafruit UPDI Friend oder clevere DIY-Projekte auf Basis eines Arduino Nano („jtag2updi“).

Weiterführende Quellen & Dokumentation

Für tiefergehende technische Spezifikationen, detaillierte Schaltungsvorschläge und die praktische Software-Umsetzung stehen Ihnen folgende Fachquellen zur Verfügung:

Offizielle Dokumentation von Microchip

  • Link status: OKMicrochip Online Docs – UPDI-Schnittstelle: Die offizielle technische Referenz zum physikalischen Aufbau sowie den zugrundeliegenden Protokoll- und Datenübertragungsschichten.
  • Link status: OKAVR Hardware-Design-Richtlinien: Eine offizielle AppNote zur korrekten elektrischen Beschaltung der Programmierleitungen inklusive Schutzdioden und Pull-up-Widerständen.

Softwaretools & Praxis-Community

  • Link status: OKAVRDUDE Handbuch (SerialUPDI-Sektion): Das offizielle Benutzerhandbuch (PDF) des mächtigen Open-Source-Tools, das die native UPDI-Ansteuerung über Standard-COM-Ports detailliert erklärt.
  • Link status: OKPython Utility pymcuprog auf GitHub: Das offizielle, schlanke Kommandozeilenwerkzeug von Microchip, ideal für automatisierte Flash-Vorgänge direkt aus Skripten heraus.
  • Link status: OKPraxis-Guide im Elektronik-Labor: Eine praxisnahe, deutschsprachige Schritt-für-Schritt-Anleitung, die zeigt, wie man mit einfachsten Mitteln einen funktionierenden USB-UPDI-Programmer selbst baut.

General Tips

Soldering points

Lötstellen gerade an den IC’s nochmal genau, am besten mit dem Microskop oder Lupe, auf Kurzschlüsse und Kontakt prüfen. Durchmessen mit Multifunktionsmeter bzw. Durchgangsprüfer.

For small solder joints on through-hole components, use flux if possible; it makes life easier and increases the quality of the connection.

Problems

No module named ‚tkinter‘

Die Python Gui „python3 diskbuddy-gui.py“ startet nicht.

Lösung: TK für Python installieren

Unter Debian Derivaten geht das wie folgt (evtl. die Version ( 3) an die eigene Installation anpassen):

apt-get install python3-tk

No module named ’serial‘

Die Python Gui „python3 diskbuddy-gui.py“ startet immer noch nicht.

Lösung: Das Python Serial Modul installieren

apt-get install python3-serial

Conclusion

DescriptionWorth
SuccessfulYes
Preis pro Stück<10€ (inklusive Lieferkosten für die Teile)
Soldering time1 hour
FunctionKlasse – einfache Programmierung des Atmel und durch die UI insgesamt einfache Bedienung
Is it worth itJa – Es gibt auch andere IEC Adapter aber in Verbindung mit der UI werden diese um Längen geschlagen, auch wenn sie vielleicht günstiger sind.
RestrictionsWeitere Funktionen müssten in die UI programmiert werden, sollte beispielsweise ein RAW-Auslesen gewünscht sein.
Conclusion to the project

Related Posts

Sources

To the project

Link status: OKGithub

Link status: OKParts list

Link status: OKGerber files

Retro pages

Link status: OKhttps://archive.org – Alte Software, Magazine, Handbücher und viele mehr.

Link status: Unknownhttps://theretroweb.com – PC Hardwareverzeichnis.

Link status: OKhttps://www.winhistory.de/index.php – Dos, Windows Versions Beschreibungen.

http://www.win31.de/links.htm – Win 3.1x Tools und Tricks

Retro Forensics

Link status: OKhttps://forum.classic-computing.de/forum – Deutsch/Englische Formum mit vielen Retro-Computer Enthusiasten.

Link status: OKhttps://www.vogons.org – Hier habe ich schon viele Tips zu Hardware gefunden, sie haben auch eine Treiber Verzeichnis.

Link status: OKhttps://www.dosforum.de – Forum mit strikten Regeln und sehr hilfreich in Bezug zu DOS, Windows fragen werden nicht gerne gesehen.

Link status: OKhttps://dosreloaded.de – Dos, Hardware Repartur, Bios Dateien und mehr.

Link status: OKhttps://www.winhistory-forum.net DOS and Windows history.

Retro Shops

Link status: OKhttps://ram-co-shop.de – PC Teile auch neuere, schon viel dort bestellt hat immer funktioniert.

Link status: OKhttp://www.amoretro.de – Verkauft auf EBay und hat ein nettes Verzeichnis alter Hadware

Link status: OKhttps://retroreiz.de – Atari, Nintendo, Seaga und anderes.

Link status: Brokenhttps://www.retroworld.info/de – Aufkleber, Schilder und mehr.

Link status: OKhttps://retesa-nb.de – Alte Hardware rund um den PC

Link status: Unknownhttps://www.retro8bitshop.com – C64 lastig

Logbook

DateChangeAuthor
03.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/Kleinschreibung, Formulierungen
Logbuch-Tabelle auf Log-Liste umgestellt
Suffocation
10.07.2026Gehäuse hinzugefügtSuffocation
05.07.2026Restliche platinen gelötet, nochmal auf Platte erwärmt damit sie besser aussehen. Beitrag finalisiert und veröffentlicht.Suffocation
04.07.2026Eine Platine aufgebaut und infos zusammen gesucht. Pinout für IEC gefunden mit dem man was anfangen kann. IBN war echt einfach.Suffocation
22.01.2026Komplette alle Teile Vorhanden bis auf CH340, in anderem Projekt Pack zu DumpMaster vorhanden.Suffocation
16.01.2026LSCL Teile angekommenSuffocation
14.01.2026Ali Teile AngekommenSuffocation
02.01.2026Teile bei LCSC und AE bestellt. SMD Teile soweits vorhanden aufgelötet
Post created
Suffocation
Changelog