SharpKeyQ
このプロジェクトは、SharpKey Multi-HID Interfaceオリジナルコードについて、ビルド可能な状態にソースを加えたものです。 機能は全てオリジナルに準じます。
また、回路図や基板デザインはDIY可能な設計に置き換えられています。
engineers@work (https://eaw.app/)
SharpKey Multi-HID Interface (https://eaw.app/sharpkey/)
ユーザーマニュアル (https://eaw.app/sharpkey-usermanual/)
テクニカルガイド (https://eaw.app/sharpkey-technicalguide/)
GitHub (https://github.com/pdsmart)
配布物
全ての配布物は、GitHubにて公開されています。
NoriQtech SharpKeyQ (https://github.com/NoriQtech/SharpKeyQ/)
git clone または Download ZIP してください。
PCB
/kicad 内に、KiCadプロジェクトとDIY用の回路図、PCBパターンがあります。
回路は、DIY向けに ESP32-DevKitC-32 を使用するように変更しています。動作はオリジナルと同等です。
また、PCBデザインは扱いやすいように Raspberry Pi 4 基板と同サイズになっています。取付穴も同じなので、Raspberry Pi 4 用のケースが使用できます。
組み立て時の注意点として、ESP32-DevKitCモジュールは基板直付けではなくソケット化を推奨します。
/gerber ディレクトリ内にガーバーデータが含まれます。
ZIPファイルは Fusion PCB の製造サービスでそのまま使用できます。
部品表はこちらです。
ファームウェアのビルド
必要であれば、各自でソースファイルをビルドしてください。
注意点はソース内にある components 内に /arduino-esp32 と /esp_littlefs の2つの外部コンポーネントが必要になります。
忘れずソースコードを配置してください。
ビルド手順はオフィシャルと同じです。
Ubuntu 22.04, ESP-IDF 4.4 にてビルドを行いました。
オフィシャルのドキュメントは前身の mz25key (https://eaw.app/mz25key/) 内に記述があります。
ビルド済みバイナリ
配布物内にお試し用のビルド済みバイナリが含まれます。/build 内のバイナリを下記の手順で転送することによって、SharpKey Multi-HID Interface が動作します。機能制限はありません。ビルド作業が不要です。
- ESPRESSIF サイトより 開発環境 ESP-IDF をダウンロードしてインストールする。
ESP-IDFバージョンは 4.4.x を使用する。 - Windowsの場合、ESP-IDF環境をコマンドラインまたはPowerShell から起動する。
Linuxの場合、シェルよりESP-IDF ビルドツールへのパスを通す。(export.sh コマンド) - コマンドラインよりダウンロードしたファイルの buildフォルダへ移動する。
cd hogehoge/SharpKeyQ/build
- ESP32-DevKitC をUSB接続する。
シリアルポート名を調べておく。(Ex, win:COM3, linux:/dev/ttyUSB0) - ファームウェアを転送する。
コマンドラインより下記を実行。esptool.py --chip esp32 -p [シリアルポート名] -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 bootloader/bootloader.bin 0x10000 main.bin 0x8000 partition_table/partition-table.bin 0x9000 ota_data_initial.bin
※オプションなどは環境に合わせて。 - ファイルシステムを転送する。
コマンドラインより下記を実行。esptool.py -p [シリアルポート名] write_flash 0x350000 filesys.bin
- ESP32-DevKitC を取り外し、SharpKeyQ PCBへ取り付ける。
以上
使い方など
オフィシャルのドキュメントを参照してください。
PC本体との接続
SharpKeyとPC本体を接続するピンアサインはオフィシャルのテクニカルガイド (https://eaw.app/sharpkey-technicalguide/)にある通りです。
SharpKeyQ では J4 の10ピンヘッダのうち9ピンまでを使用しています。
1ピンから8ピンまではテクニカルガイドの Host Interface Cables 項、SharpKey Plug View の対応するピンに該当します。9ピンはシェルでGNDに接続されています。
各機種毎の接続用ケーブル配線は下記のとおりです。
MZ-2500用ケーブル
MZ-2520用ケーブル
PC-9801シリーズ用ケーブル
X1シリーズ用ケーブル
※X1に接続する場合、ホストPCからの電力供給が不足する場合があります。その場合、ESP32のmicroUSB端子より外部電源5Vを供給してください。
MZ-5500/5600/6500/6550 用ケーブル
MZ-5665モジュール対応について
MZ-5665モジュールとは、MZ-5500/5600/6500/6550 に対応したキーボードモジュールです。このモジュールを利用する場合の注意事項をまとめておきます。
回路の変更
本体へのI/F J4 にある、3-6ピンの抵抗(R9, R10, R13, R14)を10オームに変更してください。実機のキーボード回路上、100オームでは大きすぎて信号が正常に伝わりません。必ず変更する必要があります。
ファームウェア書き込み時の注意
旧ファームウェアで書き込まれているMZ5665用のキーテーブルを削除する必要があります。
新しいファームウェアを書き込む前に、下記のコマンドでESP32内のフラッシュメモリを消去してください。
esptool.py --chip esp32 -p [シリアルポート名] erase_flash
消去後、手順に従ってファームウェアの書き込みを行ってください。
MZ-5665モジュールの解説
工学社発行の「MZ-5500/6500テクニカル・マニュアル」に記載の回路図ならびにキーボードI/Oの解説を元にコーディングしています。
4本の信号線(/DC, /STC, /DK, /SRK)でCPUとキーボード間のシリアル通信を行っています。通信タイミングは/STCのストローブ信号に合わせます。
キーボード側の回路は下記のとおりです。
MZ-5500系のキーボードは出力がオープンコレクタになっています。
オリジナルの SharpKey Multi-HID Interface の回路では出力のLOWが0.8Vに収まらず正しい通信ができません。そのため、100オームの抵抗値を十分下げる必要がありました。
また実機では、CPU側からキーボードのインジケータLEDをON/OFFするコマンド通信も行っていますが、今回は実装していません。
ライセンス
オリジナルライセンスに基づき、SharpKey Multi HID Interface の設計、ハードウェアおよびソフトウェアは、GNU Public License v3 に基づいてライセンスされています。
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/.













Hi! Nice work! I don''t have the skills to build one by myself and I just want to explore my recent purchased Sharp X1. Can you sell one already builded to me? I'm from Brazil but you can ship it to me in Brazil, US or even to a friend house in Japan. Please let me know.
返信削除