|
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 shared platform and we are not responsible for any design issues.
- Comments(3)
- Likes(5)
- 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
-
Open Source Very Large Stick - Freejoy & MMjoy2 breakout board
488 0 0 -
RF Control training board for students based on ESP32 C3
650 0 2 -
Aquarius+ Computer, Standard PCB
860 0 4 -
KINETIC COASTERS with a TWIST! Laser or 3D Print some DIY Magic
595 0 1 -
RPI - 8 IO PLC With ATTiny85 Watch Dog
516 0 1 -
Nintendo Famicom HVC-001 Controller Shells
617 0 1 -
COMMODORE 128 DIAGNOSTIC REV.785260 KEYBOARD DONGLE
573 0 4 -
COMMODORE 128 15KHz DISPLAY ADAPTER (C128 80 COLUMN ADAPTER)
779 1 5 -