t-miyajima blog

面倒くさがり屋のブログ

STM32F042K6U6のpromicro風ブレークアウトボード cminor を作りました

f:id:dvorak55:20200629233817j:plain

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.ピン配置

f:id:dvorak55:20200629234814j:plain

ピン番号は基板に印刷されていますが、読みにくい箇所があるので上記写真に読みやすく記載しました。

 

3.使い方

STM32F042のファームウェアを作成し、書き込むことで動作します。

cminor《STM32F042K6U6》には出荷時にテスト用のファームウェアが書き込まれているので、使う際には以下のgithubリポジトリにあるファームウェアをカスタマイズして用いてください。

github.com

基本的にはATmega32U4等のファームウェアと同じで、keymapsフォルダにあるファイルを書き換えて、makeすれば動作します。

QMK Toolboxへの認識方法は以下のとおりです

  1. cminorをUSBケーブルでPCに接続する
  2. QMK Toolboxを起動する
  3. 基板の中央の方のスイッチを押しっぱなしにする
  4. 基板の端の方のスイッチを押して離す
  5. すると、QMK Toolboxに「STM32 Device Connected」のような感じの文字が出る
  6. 基板の中央の方のスイッチを離す
  7. ファームウェアを書き込む
  8. 基板の端の方のスイッチを押して離す
  9. ファームウェアが起動してキーボードとして認識される

 

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だと少し薄かった気がする