PiKey

PiKey Logo

Introduction

PiKey is a wired USB keyboard and Atari-style joystick adapter intended to improve usability of retrocomputer systems by providing an avenue by which a user may add a full-sized wired USB keyboard or 9-pin Atari joysticks or Sega joypads.

The version of the kit most recently designed is called the PiKey-10 which supports the TRS-80 MC-10 Micro Color Computer.

Jay Mundy, A.K.A. Spriteworx, has posted an informative video regarding installation, use, and firmware upgrade of the PiKey-10.

Tim Holloran has also posted a nice, brief PiKey-10 demo video.

Shown below is an example PiKey-10 prototype board:

How It Works

The PiKey board hosts a Raspberry Pi Pico microcontroller and an MT8808 8x8 analog switch matrix. Using the Tiny USB protocol stack and an OTG adapter, the Raspberry Pi Pico interfaces with the user's wired USB keyboard and 9-pin Atari joysticks or Sega joypads and provides the proper protocol to the MT8808. The MT8808, in turn, is connected to the retrocomputer in place of or electrically in parallel to the original keyboard to emulate the opening and closing of keyswitches.

Keyboard Compatibility

Through experimentation, it has been found that around 75% of wired USB keyboards work well with PiKey. Wireless keyboards as well as multimedia keyboards with numerous controls for audio or video often don't work well with basic HID (Human Interface Device) drivers, such as the one that is available as part of the Tiny USB protocol stack used by PiKey.

Please share any information about keyboards which operate (or fail to operate) with PiKey via the contact page. The PiKey software is under continuous development and it is possible for the end user to upgrade the firmware on the onboard Raspberry Pi Pico without special hardware other than a PC and standard USB A to USB micro B cable as updates become available.

Working wired keyboards

Non-working wired keyboards

Joystick/Joypad Compatibility

All tested Atari-style 9-pin joysticks have been proven to be compatible as well as 9-pin Sega Genesis controllers. Note that not all buttons on the 9-pin Sega controllers are functional. In addition to the 4 directions of the D-pad, only the "B" button is recongized by PiKey.