![]() |
arduino IDEArduino
|
|
![]() |
EagleAutodesk
|
|
|
TL866-II PlusXgpro
|
C64-Keyboard
I can confirm that the project is now fully working with either PS/2 or 5pin din connector and works with the VIC20 and the C64!
01/12/21 Ordering is now available!
20/11/21 PCB under review due to incorrect footprint size!
25/11/21 Footprint size now corrected .
Now on my website https://www.levosretrocomputerprojects.co.uk/index.php/c64/c64-vic20-pc-keyboard-adapter
Based on code from https://github.com/Hartland/C64-Keyboard . If you wish to use the arduino IDE full code is here under ps2/c64_keyboard. There are 4 files to download and a library to install . All the details are on that website.
Currently there is no pcb available for this project , so , i decided to create my own.
The circuit decodes the keyboard presses from the PS/2 ( or AT ) keyboard and converts that to matrix connections via the MT8808 matrix chip. As far as the target computer knows it is receiving keystrokes from a genuine matrix keyboard.
The circuit could be adapted for any computer using a matrix keyboard but , i decided to stick with the C64/VIC20 version.
I have also included an LED to show data moving between the keyboard and AVR and the option for an external crystal for the AVR.
Only one keyboard can be connected so you need either a 180degree 5 pin din socket OR a PS/2 6 pin mini din socket .
Currently under test Tested in Australia by Banman ( from the Melon64 forum ) and me in the UK.
If using a PS/2 connector you need to put some kapton tape or nail varnish over this pad to stop any shorts occuring.

C64-Keyboard
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.

Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
ESP32-S3 4.3inch Capacitive Touch Display Development Board, 800×480, 5-point Touch, 32-bit LX7 Dual-core Processor
BUY NOW
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(17)
- Likes(19)
-
Anthony Pedotto Feb 22,2025
-
Carsten Hilbig Oct 28,2024
-
Engineer Aug 18,2024
-
Engineer Mar 03,2024
-
Engineer Dec 26,2023
-
Paweł Janowski Sep 23,2023
-
Holger OnkelHolgi Aug 18,2023
-
Artur Jasowicz Jun 17,2023
-
Bernd Desens Mar 06,2023
-
erikhuybregts Feb 17,2023
-
Mr. Marsupial Feb 08,2023
-
Marco Pantanetti (persso Task SRL) Nov 15,2022
-
Ted Grenfell Oct 05,2022
-
AlexBSM Apr 24,2022
-
Francisco Meza Nov 13,2021
-
PCBWay happy Nov 04,2021
-
(DIY) C64iSTANBUL Nov 04,2021
-
Mr Eddie Bannister Nov 03,2021
-
Alan Leverett Nov 03,2021
- 3 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10

-
10design
-
10usability
-
10creativity
-
10content

-
10design
-
10usability
-
10creativity
-
10content

-
9design
-
10usability
-
8creativity
-
9content
More by Alan Leverett
-
DIY Cart+8 A DIY Cartridge for the VECTREX gaming system.Easy to use selection ( no link settings ) .This one i...
-
DIYCart+32 A DIY Cartridge for the VECTREX gaming system.Easy to use selection ( no link settings ) .This one i...
-
ZX81-PERIPHERAL-SUPPLY-PCB A power supply and breakout board for ZX81 peripherals.Full details on my website.http://www.levosre...
-
ANanoMouse Welcome to the ANanoMouse Page.Here we will create an interface for the AMIGA to use ps/2 optical a...
-
C64 ZaxxDual While working on a project to replace the PLA in one of my Commodore64's I came across the fact that...
-
C64 PLA to ROM adapter I have been looking at this project for a while and there are several boards around , however nobody...
-
A500 IDE/Flop The Idea for this project came from my building of a Spitfire500 accelerator .The Spitfire500 is a 1...
-
PiSCSI 'Drive' Old SCSI hard drives and cd-rom drives are at the end of there life and failing .They are not being ...
-
RaSCSI Target Board RaSCSI Target BoardThis is a target board for use with the Raspberry-Pi and the RaSCSI project .Aso ...
-
C64-Keyboard I can confirm that the project is now fully working with either PS/2 or 5pin din connector and works...
-
DIY Cart+8 A DIY Cartridge for the VECTREX gaming system.Easy to use selection ( no link settings ) .This one i...
-
DIYCart+32 A DIY Cartridge for the VECTREX gaming system.Easy to use selection ( no link settings ) .This one i...
-
ZX81-PERIPHERAL-SUPPLY-PCB A power supply and breakout board for ZX81 peripherals.Full details on my website.http://www.levosre...
-
ANanoMouse Welcome to the ANanoMouse Page.Here we will create an interface for the AMIGA to use ps/2 optical a...
-
C64 ZaxxDual While working on a project to replace the PLA in one of my Commodore64's I came across the fact that...
-
C64 PLA to ROM adapter I have been looking at this project for a while and there are several boards around , however nobody...
-
A500 IDE/Flop The Idea for this project came from my building of a Spitfire500 accelerator .The Spitfire500 is a 1...
-
PiSCSI 'Drive' Old SCSI hard drives and cd-rom drives are at the end of there life and failing .They are not being ...
-
RaSCSI Target Board RaSCSI Target BoardThis is a target board for use with the Raspberry-Pi and the RaSCSI project .Aso ...
-
C64-Keyboard I can confirm that the project is now fully working with either PS/2 or 5pin din connector and works...
-
DIY Cart+8 A DIY Cartridge for the VECTREX gaming system.Easy to use selection ( no link settings ) .This one i...
-
DIYCart+32 A DIY Cartridge for the VECTREX gaming system.Easy to use selection ( no link settings ) .This one i...
-
Modifying a Hotplate to a Reflow Solder Station
439 0 4 -
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
260 0 1 -
-
Nintendo 64DD Replacement Shell
267 0 1 -
V2 Commodore AMIGA USB-C Power Sink Delivery High Efficiency Supply Triple Output 5V ±12V OLED display ATARI compatible shark 100W
682 4 2 -
How to measure weight with Load Cell and HX711
524 0 3 -
-
Instrumentation Input, high impedance with 16 bit 1MSPS ADC for SPI
603 1 0
Thanks , I will definitely have a look . This version also handles XT keyboards , is that the same with version 2 ? Thank you for the stamp of approval , that means a lot to me .
It has been a while since I have worked on this project , but from the keymap and schematics it would seem that F5 is run/stop and the TAB key is restore . Please try this and let me know if it is correct .
Thanks for the quick reply. You were very close but the Left ALT key is actually Run/Stop. TAB key is Restore and the Windows key is the Commodore key. However the key mapping isn't how I expected it to be. There doesn't appear to be any real translation of the PS/2 key symbols to the C64 ones. So for example if I do a Shift+2 instead of getting the @ symbol shown on the PS/2 keyboard, instead I get the " (quote) symbol instead which is the shifted symbol of the '2' key on the C64. Same mix up occurs on several other keys. Basically the mapping is trying to mimic the key positions of the C64 keyboard irrelevant of what PS/2 keys are in those positions. I guess if you had some C64 key stickers you could re-mark the PS/2 keys to match, and perhaps that was the intention.
The mapping is done for a UK keyboard and that is where the problem lies with the symbols . As you can imagine it would be a nightmare trying to do a different version for every mapping of keyboard available.
Aww that makes more sense, since I'm using a standard North American keyboard. Just so you know I have plans to roll my own keyboard adapter for the C64 similar to what I did for the TransKey (TK-II) on the Atari 8-bit. In that design I have 4 switchable key maps, US, DE, UK, and a special A8 mode that tries to map the keys the same as on the Atari where you could use stickers to remark the key variants. This mode setting is non-volatile, so it'll restore whatever key map was last in play. When begin work on a C6v version I'll implement something like this. My website: https://ataribits.weebly.com/
yes that is the exact chip that is required. I have used an atmega328p in 28 pin dip format , but it will work with other atmel avr's in 28 pin dip format ( i only have a file compiled for the 328 ) . The external crystal is only optional , I have found it to work fine with the internal oscillator. Have a look on my website link for a build and programming page . I would recommend the TL866-II Plus programmer. any more questions , please ask! it is surprising how many people on here are called engineer!
The size of the image is due to upload limitations , i will put a better one on my website.
Thanks Alan! Can you point me to your website? I have tried several different Google searches but cannot find it.
Sorry I lust saw the link in the description.