C64 Mini Keyboard Kit – The Code and the Schematic!

Hi All – here goes

I’ve submitted a Pull request to the QMK Github to add the Mini !

https://github.com/qmk/qmk_firmware/pull/14159

And, here’s the firmware in a ZIP file to help

https://drive.google.com/file/d/1WVuZMWLF9_7ZtnlxLih7IebWrD0SbX_b/view?usp=sharing

That’s the QMK Code For the Arduino used inside the C64 Mini

How To Compile

Download QMK – I recommend QMK MSYS. Get it installed

There’s plenty of tutorials around

BUt, quick and easy – Unzip the above file to the KEYBOARDS folder

C:\Users\YOURCOMPUTERNAME\qmk_firmware\keyboards\

Then fire up a command prompt (Start, search, CMD, run)

and navigate to the the above folder

then run

qmk compile -kb c64 -km default

You’ll get a c64_default.hex file appear in

C:\Users\YOURCOMPUTERNAME\qmk_firmware\builds\

Now to flash –

Download QMK TOOLBOX

Arduino leonardo’s can be a little tricky to flash hex files to – be persistant – there’s two Tools that help

QMK TOOLBOX – that shows the keyboard enumerating when you plug in

Set it to ‘auto flash’ and you can try pressing / holding b and space (it’s configured as a magickey in QMK) to get the bootoader to kick in and flash the chip

If anyone knows a quicker way – shout!

And, if it helps

Here’s the Schematic

No PCB gerbers are public yet – play away! any suggestions, happy to look at incorporating them

I’ll follow in the future with more insight in how this lot works, and also modifications needed to get it going better… There’s a LOT to it as the Keycodes – https://sta.c64.org/cbm64pet.html

Don’t map to the HID codes used by USB…so, without some super customisation, certain combinations may never be possible

Some useful resources

https://www.c64-wiki.com/wiki/Keyboard

https://msys.qmk.fm/

https://github.com/qmk/qmk_firmware

https://github.com/qmk/qmk_toolbox

https://thec64community.online/thread/688/c64-keyboard-mapping

and a few other C64 USB firmware’s i’ve found – these may have the bits needed to be able to get mine working much better – But, merging things is currently beyond my skillset – I’ll figure it out eventually

https://symlink.dk/projects/c64key/ – Has seemingly sorted out shifting, etc with custom codes. I can’t quite figure it out though

And, this awesome public project! – If you want a ready made USB interface – This looks great. Has some quite complex QMK mapping that i’ve not been able to understand – maybe it can be modded for my PCB!.