|
arduino IDEArduino
|
C128 USB Keyboard adapter
This project is designed to allow a modern USB keyboard to be used with a Commodore 128D/DCR in place of the original Commodore keyboard.
This project requires SEEED XIAO SAMD21, which has USB-C socket. USB-C keyboards are rare yet.
I use OTG USB-A (female) to USB-C (male) adapter to connect standard PC keyboard.
KiCad project and firmware are available on GitHub: https://github.com/ytmytm/C128-keyboard
Features
- can be used with any USB keyboard, including wireless ones
- all C128 keys are mapped, including 40/80, CAPS, second set of cursors
- four keyboard maps switchable on the fly
- NUMLOCK and SHIFT+NUMLOCK enable joystick mode on keypad, known from VICE (may not work with some games)
- for unmodified C128DCR external power can be provided separately
- OLED display support
- adapter can be plugged directly into keyboard port or mounted internally
Parts
- SEEED XIAO SAMD21 (important: SAMD21, not RP2040)
- U1: MT8816 or MT8812
- U2: 74HCT595
- R1, R2, R3: 10K resistors
- Q1, Q2, Q3: 2N3904 transistors (or any other NPN, like S9013)
- C1, C2: 100n capacitors
- DB25 male socket for PCB (option 1)
- socket for 26-pin flat ribbon cable / 2x13 pin headers (option 2)
- pin headers and sockets
- 128x32 SSD1306 I2C OLED display (optional)
Power (C128DCR only)
C128D has +5V power exposed on pin 4 of the keyboard port. C128DCR doesn't have this feature. It's quite easy to make an internal modification in C128DCR and add that missing connection.
Here is one wire added to the bottom part of the C128DCR mainboard that connects +5V from joystick port to pin 4 of the keyboard port.
If you are unwilling to open your C128DCR, you can provide external power from nearby tape or joystick port instead. In this case keep the jumper JP1 open and provide +5V to the Ext. power connector. Mind the polarity.
Options:
- JP1 open: power through Ext. power for unmodified C128DCR
- JP1 closed: don't connect anything to Ext. power; for C128D or modified C128DCR
C128 USB Keyboard adapter
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(4)
- Likes(9)
- Engineer Oct 20,2024
- Francisco Meza Aug 25,2024
- Bjorn Tillaert Jul 13,2024
- Lars Moeller May 02,2024
- Holger OnkelHolgi Apr 16,2024
- Engineer Mar 10,2024
- Mr Eddie Bannister Jan 08,2024
- (DIY) C64iSTANBUL Jan 07,2024
- dakamp Jan 05,2024
- 0 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
More by Maciej Witkowiak
- C128 USB Keyboard adapter This project is designed to allow a modern USB keyboard to be used with a Commodore 128D/DCR in plac...
- tcbm2sd - 1551 disk drive simulator TCBM2SDCBM 1551 paddle replacement and/or mass storage using an SD card interfacing with the Commodo...
- 1541 RAMBOard][ / DolphinDOS2 This is a recreation of CLD RAMBoard aimed at 1541-II drive with important change: 24K(32K) ROM supp...
- MagicDesk-like External ROM cartridge for C128 MagicDesk-like External ROM cartridge for C128PROJECT PAGEKiCad project files and schematic: https:/...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
110 0 0 -
DIY Laser Power Meter with Arduino
162 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
153 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
554 0 2