Commodore 64 open source hardware

May 4 · 12 min read

The point of this article is to make a quick overview of open source hardware available out there, for a legendary 8-bit computer Commodore 64. With open source I mean that all of the resources needed to make it on your own are publicly available, under various licenses.

If i forgot to give credit to any author, please let me know and I’ll update the article.


By: swinkels

SwinSID is a hardware replacement for legendary SID sound chip.



FPGA based modification board for the Commodore 64 computer to produce YPbPr video output.

C64 RGB Mod


Built on the A-Video board, this is a modification usable for the Commodore 64 computer that generates a YPbPr signal in either 288p or 576p to display on modern displays.

9600 Baud C64 WiFi Modem

By: Eightbitswide, xxValiumxx, and Paul Rickards

The esp8266 WiFi Modem enabling you to connect your C64 to WiFi.


By: Sven Petersen

A NodeMCU (ESP8266) based WiFi modem for the C64’s user port This is a Wifi-Modem for the Commodore C64 Uperport, which is based on the ESP8266 (NodeMCU v3). It contains level shifters to translate between the NodeMCU 3.3V level and the User Port 5V level. This prevents stressing the User Port due to a level mismatch.



OpenC64Cart is an Open Hardware Cartridge for the Commodore 64. It only supports 8 KB ROM images. A variant that supports 16 KB ROMs is also available.



OpenC64MegaDrivePadAdapter is an Open Hardware adapter that allows the safe connection of a Sega Mega Drive (known as Genesis in the US) controller to a Commodore 64 or Amiga computer.



OpenC64TapePortBreakOut is an Open Hardware PCB that breaks out all the pins on a Commodore 1530 Datassette Connector. It is mainly useful for building Tapuino devices.



OpenC64Saver is an Open Hardware implementation of the , mainly targeted at Commodore 64 users, but also usable on VIC-20 computers.


By: Ingo Korb

The SD2IEC is a mass storage device using an SD/MMC card and interfacing with the IEC bus. It is based on the ATmega644 microcontroller from the microcontroller family. The most prominent use of SD2IEC is replacement of a disk drive for a .


By: Steve White

Pi1541 is a real-time, cycle exact, Commodore 1541 disk drive emulator that can run on a Raspberry Pi 3B, 3B+ or 3A+. Commodore 1581 emulation also supported.

IRQHack64 C64 Cartridge

By: Nejat Dilek

IRQHack64 is a C64 cartridge designed to be used to load programs to C64. It’s composed of an arduino pro mini, a micro sd card module and a 27c512 eprom mainly. It’s very fast, faster than most of the fastloaders actually. It loads programs at speed of around 40KB per second. It doesn’t have an IEC interface so it operates only with program files.


By: Sven Petersen

This is a replacement PSU for the Commodore C64. The original PSUs from the 1980s and early 1990s tend to die and damage the connected C64, so it is recommended to get a new power supply for the C64. This design is straight forward: a transformer, bridge rectifier and DC/DC converter for the 5VDC and a separat winding for the 9VAC.


By: Sven Petersen

The Diagnostic Rev. 586220 is a widely accepted test tool for the Commodore C64. It tests the RAM, ROMs and the peripheral chips (VIC, SID, CIA). To test all interfaces, a feedback is required. This is provided by this harness.

C64 — -Cart64out

By: Sven Petersen

Cart64out is a breakout board for the Commodore C64 Expansion Port

EasyFlash 3

By: Thomas ‘skoe’ Giesel, Martin Hoffmann-Vetter, Björn ‘JMP$FCE2’ Wieck,

EasyFlash 3 is a cartridge for the C64 expansion port. In contrast to traditional cartridges, this one can be programmed directly from the C64. You can easily create various classic computer game cartridges or program collections with it.



The keyman64 is a programmable keyboard interceptor and hardware control system for computers equipped with a simple 64-key matrix keyboard.

It is installed between the keyboard and the computer, continually scanning the keyboard matrix and relaying the keyboard state to the computer using a crosspoint switch. To the computer, the crosspoint switch matrix looks just like a physical keyboard, while the keyman64 gains the ability to intercept keystrokes and control the matrix seen by the computer.



The MixSID is a stereo SID board for the C64 that can be used with any combination of SID models on a wide range of C64 mainboards.

Features include an integrated stereo channel mixer, pragmatic stereo addressing scheme, flexible handling of io areas, onboard audio input, output and digiboost circuits, dedicated stereo output, full paddle compatibility and versatile digital control.



The Overlay64 module allows superimposing predefined texts onto an existing analog video signal, depending on the states of up to 24 digital input lines.

Among other possible applications the overlay64 can be used to display the state of various hardware extensions build into a classic home computer directly on the screen.



This is a rom adapter board for the C64 which replaces all rom chips with a single 64kb 27C512 Eprom, offering space for four different kernals, four charsets and two basic roms. Any combination of roms can be chosen using control lines provided on the board.



xlink allows connecting a Commodore 64 or 128 to a PC using a custom build USB adapter or a simple parallel port cable. A command-line client is used on the PC to transfer data to and from the remote machine memory, run programs on the remote machine or to initiate a hardware reset.

Multi-kernal adapter for C64C and C128

By: discoHR

It allows you to run either:
a) four kernals using a 27C512 (SJ1 open)
b) two kernals using a 27C256 (SJ1 closed)

Hold the restore key to enter the select mode


By: bwack

All software related to the C64FC (Commodore 64 Flash Cart)


By: bwack

Overvoltage protection for the C64 and its power brick.

Switchless JiffyDOS for C64 short board

By: Pasi Lassila

Simple modification for switching between JiffyDOS and KERNAL without a selection switch.

Commodore 64 hardware test tools

By: jamarju

I wrote these programs to test the RAM, ROM and PLA chips with an Arduino Uno because I don’t own a second known-working C64 to test them on.

Commodore 64 (C64C) SRAM replacement

By: jamarju

This is a static RAM replacement for C64C chips U10 and U11 (motherboards assy no. 250469). It may also work on assy no. 250466 (DRAM chips U9 and U10).

C64 power supply unit

By: jamarju

his is a compact and efficient 9VAC/5VDC power supply for the Commodore 64 .


By: Robert Grasböck

Nunchuk64 is a converter or adapter to connect a Wii Nunchuk or a Nindendo NES Classic Mini Controller to a Commodore 64. The circuit converts two Nintendo Controllers into two Commodore 64 ones.

Unijoysticle 2

By: Ricardo Quesada

Unijoysticle 2 allows you to use modern Bluetooth gamepads, e.g Xbox One gamepad, in old computers like the Commodore 64 & 128.

And of course, you can still use your unicycle to control your retro computer!

DDI projects

By: Unknown

Lots of cart projects on his/her website:

Magic cart,Black Magic cart,Ultra Card 128, Master Card and lots of other EPROM based carts.


By: Gabriele Gorla

Lots of cart projects on his website:UNICART/D, GLINK232 — UART cartridge,GRAM/512S — 512KB geoRAM, Turbo232 UART cartridge, GRAM/4D — 4MB geoRAM, GLINK-LT — User Port RS232 and more

RETRO Innovations

By: RETRO Innovations

Lots of projects on the Github:

MOS 6502 to MOS 6509 Adapter, Commodore PS/2 Keyboard Adapter, CPU accelerator for the Commodore 64/128, 7501/8501 to 6502 Adapter and much more.


By: Bo Herrmannsen

It’s my project/attempt at recreating the first board used in C64 production. It’s based on a schematic by Ruud Baltissen.


By: István Nagy

Commodore 1541 floppy drive emulator based on the Arduino platform.


By: Peter Edwards (sweetlilmre)

Commodore datasette drive emulator based on the Arduino platform.

C64 PS2-USB Keyboard

By: Robert VanHazinga

This project is designed to allow a PS2 or USB keyboard to be used with a Commodore 64/128 in place of the original Commodore keyboard.


By: Robert VanHazinga

Ninepin is about interfacing retro computers to modern peripherals. It
currently offers two features: converting a USB joystick so it can be
used as an Atari style 9-pin joystick (hence the name), and the
ability to emulate a disk drive.

C64 C Y/C only modulator substitute


Small circuit to restore S-Video compatible output once RF modulator has been removed.

C74–6502 CPU

By: uknown

The C74–6502 is a homemade implementation of the venerable MOS 6502 microprocessor.


By: Mattis Lind

A CPLD implementation of the classic 82S100/82S101 as used in for example C64.


By: Mattis Lind

A C64 and C128 cartridge that allow multiple cartridge images inb one physical cartridge.


By: Piotr Wiszowaty

Adapter for connecting USB joystick/gamepad to DB9 joystick connector found in Atari, Commodore and Amiga computers.


By: Upi Tamminen

8701 replacement for C64. This is a replacement 8701 chip for the Commodore 64 by using the ICS525–01 clock generator chip.

Servant64 (currently page is unavailable)

By: Uknown

Servant64 is a Open-Source project that makes it possible to use a bidirectional connection between a Commodore 64 (User-port) and a Windows PC (USB). The hardware is based on cost effective and modular hardware.


By: Hermit

This simple circuit tries to protect the SID sound chip in the Commodore 64.


By: Marko Šolajić

Hardware design of Magic Desk compatible C64 cartridge for up to 512k (expandable up to 1Mb).

Connect a Commodore64 to the Raspberry Pi

By: Jeff Harris

The Commodore64 has a general purpose I/O port called the UserPort. It has the ability to function as a TTL-level serial port.
By creating a cable which has a C64 connector on one side, and a USB TTL<->RS-232 converter on the other side, it is possible to connect a 1980’s Commodore to the Raspberry Pi!