本ソフトウェアは、M5stak用のCardKeyBoard をPS/2インタフェース対応のにするファームウェアです。
PS/2キーボードを使うマイコンボード等での利用を目的としています。
IchigoJam V1.3、豊四季Tiny BASIC for Arduino STM32 V0.87 での動作を確認しています。
実装はArduino環境を利用しています。
本ファームウェアは、CardKeyBoardのオリジナル版ファームウェアのソースを修正して開発しています。
CardKeyBoardのオリジナル版のソース
- Github m5stack/M5-ProductExampleCodes
https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Unit/CARDKB
上記のオリジナル版を書き込むことで元に戻すことが出来ます。
本ソフトウェアは自由にお使いください。
本、ソフトウェアを使ってCardKBが利用不能になっても、責任は持てません。
また、メーカーの保証が受けられなくなる可能性があります。
あくまでも、自己責任の改造とご理解の上、利用願います。
オリジナルのI2Cインタフェースから、PS/2インタフェースに変更しています。
| 端子・導線 | 信号 |
|---|---|
| 黒 | GND |
| 赤 | 5V or 3.3V |
| 黄 | CLK/D+(A4) |
| 白 | DATA/D-(A5) |
USBコネクタ(オス)を利用する場合は、上記導線を下記の端子に結線して下さい。

オリジナル版では、起動時のLED(NeoPixcel)が点滅しますが、本ファームウェアでは点滅しません。
ホストコンピュータの利用キーボードは日本語キーボードを指定して下さい。
キーボードの仕様及び機能はオリジナルとほぼ同じですですが、
下記のキー割り付けを新たに追加しています。
| キー機能 | 操作 |
|---|---|
| [F1] | [1]+[Fn] |
| [F2] | [2]+[Fn] |
| [F3] | [3]+[Fn] |
| [F4] | [4]+[Fn] |
| [F5] | [5]+[Fn] |
| [F6] | [6]+[Fn] |
| [F7] | [7]+[Fn] |
| [F8] | [8]+[Fn] |
| [F9] | [9]+[Fn] |
| [F10] | [0]+[Fn] |
| [Insert] | [BS]+[Fn] |
| [Home] | [←]+[Fn] |
| [PageUp] | [↑]+[Fn] |
| [カナ] | [k]+[Fn] |
| [PageDown] | [↓]+[Fn] |
| [End] | [→]+[Fn] |
[F1]~[F10]はファンクションキーです。
-
Adafruit NeoPixelライブラリ Arduino IDEのライブラリマネージャーにて、"Adafruit NeoPixel"にて検索し、インストールします。

-
ps2dev(Emulating a PS2 device)
- PS2 mouse interface for Arduinoから一番下の Attach:ps2dev.zip をクリックしてダウンロードします。
- 解凍して、各自のArduino環境の libraries の下に配置します。
- ps2dev.cpp をエディタで開き
#include "WProgram.h"を#include "Arduino.h"に修正し保存します。 - ps2dev.h をエディタで開き
#include "WConstants.h"をコメントアウト(//#include "WConstants.h")し保存します。
Arduino IDE にて添付のスケッチをコンパイルして書き込むか、
binフォルダ内のコンパイル済みイメージファイル CardKeyBoard.ino.hexを
avrdude等のツールを使って書き込んで下さい。
プログラマは各自の使い慣れたものをお使い下さい。
(注意) ヒューズビットの変更は行わないで下さい。
ProgIspをお使いの場合は、デフォルトのProgram Fuseの設定を無効にして下さい。
本プロジェクトに添付の CardKeyBoard.ino をArduino IDEで開きます。
Arduino IDE環境にて、ボード選択として、Arduino Pro(3.3V 8MHz) を指定して書き込みます。
(ブートローダの書き込み操作([ツール] - [ブートローダを書き込む])は禁止)
ボードには、ブートローダは搭載していないため、ICSP端子からのプログラマ(ArduinoISP、USBasp、USBtinyISP等)による書き込みが必要です。
プログラマは各自の使い慣れたものをお使い下さい。
上記端子にジャンパーを差し込んで、簡易的に接続でも書き込み出来ます。
(テープ等で固定等の工夫を行って下さい)
書き込みはIDEメニューの [スケッチ] - [書込装置を使って書き込む] にて、
スケッチをコンパイルし、書き込みを行います。
USB端子(オス)、ジャンパーワイヤー(オス-オス)を使って、簡易ケーブルを実装した例です。

豊四季Tiny BASIC for Arduino STM32 V0.87の利用例

秋月電子の「ケーブル取付用USBコネクタ(Aタイプ オス)」を使た例
(熱収縮チューブ+結束バンドで根本を補強)
IchigoJamで利用する場合、
ジャンパーワイヤー(オス - オス)を使って、端子に接続でも利用出来ます。
| IchigoJamの端子 | キーボードのケーブル |
|---|---|
| GND | 黒:GND |
| VCC | 赤:5V or 3.3V |
| KBD1 | 黄:CLK/D+ |
| KBD2 | 白:DATA/D- |








