Chavdai40というキーボードを作っているはずが、いつの間にかpromicro風の基板を作成していました、t-miyajimaです。
こちらの記事ではこの基板 cminor<しーまいなー> の概要と使い方ガイドを記載します。
1.cminor<しーまいなー> について
このブレークアウトボード(名前は適当にcminorとしました)は、STM32F042K6U6というMCUを搭載したpromicro風の部品実装済み基板です。
特徴
- promicroと同じサイズで、GNDと5Vのピン配置は同じ
- GPIOは20ピンあるので、5×15のサイズのキーボードまで使える(Duplex Matrixの場合は更に倍?) ※10×10にすれば100キーまでいけますね!
- 基板の厚みは1mmだけどUSB-Cが分厚いので全体的に分厚い感じがする
- リセットスイッチとBootモード切り替えスイッチが搭載済みなので、BINファイルの書き込みが容易
- ピンの穴サイズが0.9mmなのでコンスルーが使えると思う(作者まだ試しておらず…)
- USB-Cの2.0を搭載している 多分もげない
- 残念なことにデフォルトでI2Cに使えるF0とF1のピンが未接続なのでI2Cは使えない…
2.ピン配置
ピン番号は基板に印刷されていますが、読みにくい箇所があるので上記写真に読みやすく記載しました。
3.使い方
STM32F042のファームウェアを作成し、書き込むことで動作します。
cminor《STM32F042K6U6》には出荷時にテスト用のファームウェアが書き込まれているので、使う際には以下のgithubリポジトリにあるファームウェアをカスタマイズして用いてください。
基本的にはATmega32U4等のファームウェアと同じで、keymapsフォルダにあるファイルを書き換えて、makeすれば動作します。
QMK Toolboxへの認識方法は以下のとおりです
- cminorをUSBケーブルでPCに接続する
- QMK Toolboxを起動する
- 基板の中央の方のスイッチを押しっぱなしにする
- 基板の端の方のスイッチを押して離す
- すると、QMK Toolboxに「STM32 Device Connected」のような感じの文字が出る
- 基板の中央の方のスイッチを離す
- ファームウェアを書き込む
- 基板の端の方のスイッチを押して離す
- ファームウェアが起動してキーボードとして認識される
4.ご注意点
STM32F042K6U6はROMとRAMが小さいので(それぞれ32KB、6KB)、QMKの機能を絞らないとファームウェアが書き込めません。
また、EEPROMを搭載していないのと、EEPROMエミュレーション機能を使おうとしても今の所うまく動作しないため、VIA Configuratorには対応していません。
なんでそんなMCU使ったねんって感じですが、Chavdai40に搭載するMCUは小さいのがよかったので……。
とりあえず、LED光らせたり、VIA Configuratorに対応しようとしたり、I2C接続のEEPROMを繋げようとしたりしない限りは、キーボードとして動作します。
5.ToDo
- ファームウェアの掲載 → 完了
- リワークして動作確認 → 完了
- 頒布ページ → 完了
6.雑談
- STM32F042K6U6は底面パッドがVSSなのでハンダ付け必須なのですが、JLCPCBでは底面パッドをハンダ付けしてくれない(多分技術的にできないんだとおもう)ので、SMT AssemblyしたのにMCUは自分でリフローしないといけなかったのでちょっと辛かった
- 基板の厚みは1mmだと少し薄かった気がする