|
5 pin DIN socket |
x 1 | |
|
8 pin standard 2.54 mm (0.1 in) pin header |
x 1 |
Amiga 2000 / 3000 / 500 Keyboard USB adapter
This board allows to connect an Amiga keyboard as an USB HID keyboard (for example on a PC, Raspberry Pi, or Vampire V4SA). It uses a "pro micro" Arduino clone for the USB communication, and connects it to the Amiga specific keyboard connectors.
The code to upload onto the Arduino can be found on https://github.com/tkoecker/amigakb
This is a fork of jklof/amigakb adjusted for Vampire V4-SA
This should work with all Amiga keyboards that have their own controller (i.e. all keyboards except A600 and A1200):
A500
A1000 (early and later models)
A2000/A3000
A4000/CD32
CDTV
The repository also contains schematics and premade board files for building a "Pro Micro" based adapter that runs this code. 3D printable cases for the boards can be found at https://www.thingiverse.com/thing:4593520
Changes to the original code:
Merged in changes from https://forum.arduino.cc/index.php?topic=139358.90
Changed Backslash, Hash and Help key mappings
Added reset handling for keyboards without reset line
Made use of the caps lock special handling (for compensating differences between Amiga and USB keyboard protocols) configurable via a jumper (V4 expects key events differently than usual for USB keyboards) This can be switched with a jumper between pin 2 and ground.
replaced digitalRead() with direct register usage to meet timing requirements for early A1000 keyboards
changed handshake to work with early A1000 keyboards
send data via USB during handshake pulse, in order to not miss next key event
Added option to use a switch between pin 4 and ground to select an alternative keymap in order to make codes of keys available that do not exist on the amiga keyboard (currently only used for providing F11 and F12 (which are used by V4SA to toggle options) on F1 and F2)
Building for V4-SA:
Use Arduino IDE v1.6.5-r5 (needed for the changes below - the last version before a refactoring of the USB stack). Note that if you have used a newer version, such as 1.8.x, it might prevent the 1.6.5 version from working due to it using incompatible compiler switches or adding incompatible packages. If you get a linker error mentioning LTO (Link Time Optimisation) it will certainly be caused by this. To resolve the issue, on Windows, search in your c:\Users<UserName>\AppData directory for a directory called "Arduino15" and delete it. There will probably be one in AppData\Local and one in AppData\Roaming. You might have to repeat this process to switch back to the newer Arduino IDE version. On MacOS the directory can be found in ~/Library/Arduino15 and on Linux it is in ~/.arduino15.
When installing the Pro Micro board add-on for Arduino IDE, do not use the automated installation method or it will recreate the Arduino15 directory and result in a non working build (as it installs the add-on for the latest 1.8.x version of the Arduino IDE). Instead, download and install the board add-on manually, as described on the Sparkfun website at https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/installing-windows under the section entitled "Installing the .brd Files Manually". This is an older version of the add-on designed for older versions of the Arduino IDE
Apply the change from https://github.com/tkoecker/Arduino/commit/e6783cb5e4b7e1dc8abc4932b3e3543ad793c6ff.patch to get an USB core that uses low-speed USB, with only one boot protocol keyboard HID device. Experience has shown that some versions of patch do not work properly (at least on Windows), so look out for error messages such as "Hunk #X FAILED at XXX." or you'll be building an unpatched USB stack and will wonder why it doesn't work on the Vampire!
TODO:
Add reset handling for A500 keyboard (i.e. keyboard with reset line) (optional as the current reset handling also is sufficient for A500 keyboards)
Fix mapping of numpad '(' and ')' keys (Amiga keycodes 0x5a, and 0x5b) (these seem currently not to be available on V4)
A500 keyboard: make LEDs controllable via USB (i.e. switch drive led on/off, switch power led bright/dim)
Amiga 2000 / 3000 / 500 Keyboard USB 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(10)
- Likes(17)
- Engineer Nov 03,2024
- sescalante Jan 03,2024
- Mattias Oct 11,2023
- Milan Malasits Aug 07,2023
- David Hansen Jul 09,2023
- Engineer Aug 24,2022
- (DIY) C64iSTANBUL Apr 21,2022
- k1ds3ns4t10n . Jul 29,2021
- Engineer Jun 16,2021
- Engineer Jun 16,2021
- Engineer Dec 18,2020
- Stefan Reinauer Oct 30,2020
- ngr Oct 26,2020
- Kevin McGrath Sep 13,2020
- dan anderson Jun 22,2020
- Jamie Krueger Jun 05,2020
- Commodore Bench Mar 15,2020
- 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 Thomas Köckerbauer
- Atari ST/STE EPROM Cartridge This EPROM cartridge board has 4 EPROM sockets for a 27C256 EPROM each, making it possible to fill t...
- VGA EDID Dongle This dongle can be used to to send a (different) EDID to the VGA output of an graphics card. The EDI...
- Amiga 1200 LED Header for Vampire 4 Standalone I've printed the fantastic Vampire 4 Standalone enclosure by J?rgen Bilander (see https://github.com...
- Amiga CDTV / 500 Keyboard USB adapter This board allows to connect an Amiga keyboard as an USB HID keyboard (for example on a PC, Raspberr...
- Amiga 4000 / CD32 / 500 Keyboard USB adapter This board allows to connect an Amiga keyboard as an USB HID keyboard (for example on a PC, Raspberr...
- Amiga 2000 / 3000 / 500 Keyboard USB adapter This board allows to connect an Amiga keyboard as an USB HID keyboard (for example on a PC, Raspberr...
- Amiga 1000 / 500 Keyboard USB adapter This board allows to connect an Amiga keyboard as an USB HID keyboard (for example on a PC, Raspberr...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
125 0 0 -
DIY Laser Power Meter with Arduino
173 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
164 0 2 -