SharpKey Multi-HID Interface

Summary

The SharpKey is an IoT Multi-HID (Human Interface Device) to Multi-Host Interface with on-board web configuration and Over The Air update facilities. It enables more modern keyboard and mice devices to be used with vintage computers where these devices are no longer obtainable or working.
The device is plug and play, it automatically detects connected input and host device types, self-configures and is ready for instant on useability. Bluetooth devices require the SharpKey and HID device to be set to pairing mode for first time use and once paired operate exactly as wired equivalents.
At its heart, the SharpKey uses a dual-core WiFi/BT enabled SoC from Espressif with C++ based Object Oriented firmware. The on-board IoT web interface, operating in Station or Access Point mode, is based on venerable Javascript/JQuery/Bootstrap technologies and supports most modern web browsers.

The SharpKey currently supports:

Input Devices        Host Computers
PS/2 KeyboardsSharp X1Sharp MZ-56001.
PS/2 MiceSharp X68000Sharp MZ-65001.
PS/2 KVM SwitchSharp MZ-2500NEC PC-98012.
Bluetooth HIDSharp MZ-2800

Overview

Following on from the successful mz25key interface, the SharpKey advances the design in terms of hardware and software to provide an all in one expandable solution to interfacing keyboards and mice to venerable Sharp and NEC computers.

The mz25key supports adding a PS/2 keyboard to a Sharp MZ-2500 or MZ-2800 computer whereas the SharpKey is more versatile in connecting both keyboards and mice, via PS/2 or Bluetooth, to a host console.
PS/2 mode supports one device at a time, device type being determined by the connected host port type using host specific cables. A mouse cable connected to the mouse port of an X68000 will require a PS/2 mouse connected to the SharpKey and a keyboard cable connected to the keyboard port of an X68000 will require a PS/2 keyboard connected to the SharpKey.
In PS/2 mode, it is possible to connect multiple host consoles, each with its own SharpKey device, to one Keyboard, Mouse and Monitor via a PS/2 KVM Switch such as the Apex EL-80DT.
Bluetooth mode supports simultaneous use of keyboard and mouse where the host supports it and the correct host specific cable is used. ie. an X68000 uses a single cable to transmit both keyboard and mouse data allowing simultaneous use of keyboard and mouse via Bluetooth, whereas an MZ-2500 is restricted to keyboard or mouse per SharpKey (ie. to connect both a keyboard and mouse to an MZ-2500 requires 2 SharpKey devices).
This site aims to provide all the information, both technical and user guides for the SharpKey, please click on required link in the left panel. The schematics, layout and firmware are available on Gitea. Please follow or star a project if you download and make use of it, either for creating your own SharpKey or basing another project on its design. Please note, the GNU license has a restriction that no commercial use can be made without prior written permission.
For more in depth detail, please click on a sidebar link to view the User Manual or Technical Guide.

1, 2.Waiting on testing, not yet released.


Credits

Espressif IDF development environment and use of the ESP-32S reference material was used in the design of this Multi-HID interface.

Licenses

This design, hardware and software, is licensed under the GNU Public Licence v3.

No commercial use to be made of this design or any hardware/firmware component without express permission from the author. This condition overrides any rights afforded by the GNU GPL 3 license.

The Gnu Public License v3

The source and binary files in this project marked as GPL v3 are free software: you can redistribute it and-or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The source files are distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Wireless Regulatory Notice

This device incorporates a pre-certified ESP32-S wireless module (AI Thinker) that transmits in the 2.4 GHz ISM band, making it an intentional radiator under radio-frequency regulations worldwide (including FCC Part 15 Subpart C in the United States, and the Radio Equipment Directive 2014/53/EU in the European Union).
The ESP32-S module is used unmodified and carries its own regulatory certifications (FCC, CE, and others). However, those module-level certifications do not automatically extend to a finished product that incorporates the module. The pre-certified module exemption permits individual hobbyists to build a limited number of devices for personal, experimental, or educational use without obtaining separate equipment authorisation.
Important Limitations
  • Assembled devices must not be sold, offered for sale, gifted, or otherwise distributed to third parties unless the finished product has been independently tested and granted its own equipment authorisation (e.g. FCC ID, CE marking with a Notified Body assessment) in the relevant jurisdiction.
  • Building this project for personal use in limited quantities is generally permitted under hobbyist and experimental-use provisions (e.g. FCC § 15.23), provided the device does not cause harmful interference.
  • Regulatory requirements vary by country. Builders outside the United States should consult their national radio-frequency authority for applicable rules.
Builder’s Responsibility
It is the builder’s sole responsibility to ensure that any device constructed from these designs complies with all applicable radio-frequency regulations in their jurisdiction. The author provides these designs for personal, educational, and hobbyist use and makes no representation that a device built from them satisfies the regulatory requirements for commercial distribution.