【自作キーボード】Pro Micro の代わりの Elite−C に qmk ファームウエアを焼くコツ

最初に Gherkin を作って以来、安価な Pro Micro は常にキーボード・コントローラーとして広く使われています。一方で唯一の弱点と言われるのが Mini USB ジャックのもげ問題。今回ここを中心にした対策を施した Elite−C を入手しました。

このブログの目次
基本仕様とサイズなどについて
Elite−C のファーム焼き込み
ソケット化の手順
完成

基本仕様について

Elite−C(左) は Pro Micro(右) のリプレースとして That−Canadian 氏によって設計されたモノ。フィーチャーとして発表されている仕様は以下の通り。

・Pro Micro ベースの基板との互換性(Compatible with all Pro Micro-based PCBs)
・モゲないUSB−C ポート(USB-C port that can’t be ripped off)
・Pro Micro と同じコントローラー(ATmega32u4 controller)
・DFU ブートローダー(DFU bootloader)
・追加の6ピン(6 additional ATmega32u4 pins and USB pins broken out)
・オンボードリセットボタン(On-board reset button (you can still use the reset button on the keyboard PCB if it has one))
・厚さ1ミリ(1.0mm thick PCB for slimmer profile (don’t worry, it’s still very solid and doesn’t flex))
・12 ピンヘッダと 5ピンヘッダ付き(Comes with two 12-pin headers and one 5-pin header)
・Pro Micro より6ピン多い24I/O(Total of 24 I/O pins to work with (6 more than the Pro Micro))

まとめると、Pro−Micro と Elite−C は同じサイズで USB ポートに、強度のある C を使っているということ。私の Gherkin の基板はソケット化しているので、新しい Elite−C もソケット化すれば同じ基板で差し替えることができる、というわけです。

Elite−C のファーム焼き込み

入手先の Space Cat Design から到着した Elite−C。早速マックのターミナルで qmk ファームウエアを呼び出しファームウエアを焼き込もうとしたら、これまでの方法ではどうしてもうまく行きません。

今回は、ターミナルで avrdude ではなく dfu コマンドを使う必要があります。詳細は公式サイトに書いてありますが、

make gherkin:(キー配列の名前):dfu

これだとうまく行きます。もう一つ、rules.mk の Bootloader の部分でもともと書かれている caterina の行をコメントアウトして下記のように変更します。

# BOOTLOADER = caterina
BOOTLOADER = atmel-dfu

https://docs.qmk.fm/#/newbs_flashing
https://github.com/qmk/qmk_firmware/blob/master/docs/flashing.md

幸い Elite−C にはオンボード・リセットボタンがあるので、ピンセットを使わず、上記コマンドを打った後に待ち状態になった所でボタンを押し、数秒待つと焼き込みが始まります。

Making gherkin with keymap makoto and target dfu

avr-gcc (GCC) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Size before:
   text   data     bss     dec     hex filename
      0   17406       0   17406   43fe .build/gherkin_makoto.hex


Compiling: keyboards/gherkin/keymaps/makoto/keymap.c                                                [OK]
Linking: .build/gherkin_makoto.elf                                                                  [OK]
Creating load file for flashing: .build/gherkin_makoto.hex                                          [OK]
Copying gherkin_makoto.hex to qmk_firmware folder                                                   [OK]
Checking file size of gherkin_makoto.hex                                                            [OK]
 * The firmware size is fine – 17406/28672 (11266 bytes free)
dfu-programmer: no device present.
Error: Bootloader not found. Trying again in 5s.
Bootloader Version: 0x00 (0)
Erasing flash…  Success
Checking memory from 0x0 to 0x6FFF…  Empty.
Checking memory from 0x0 to 0x43FF…  Empty.
0%                            100%  Programming 0x4400 bytes…
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
0%                            100%  Reading 0x7000 bytes…
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
Validating…  Success
0x4400 bytes written into 0x7000 bytes memory (60.71%).

ちょっとしたことですが、仕組みがしっかりわかってやっているわけではない初心者なので、こうしたところはエラーが出たら対症療法的に解決策を探るという楽しさはありますね。

ソケット化の手順

Elite−C への焼き込みが無事終了したので、ソケット化をしておきます。

秋月電子で入手したソケットは 14+14=28 ピン仕様。Pro−Micro は12ピンなので、最初の2ピンを左右切り取り短くします。

これまでは直接基板で作業をしてきましたが、今回は aitendo で入手したケース付きの空基板を作業用としました。先程削った改良版ソケットをこの基板にハンダ付けし、そこに Elite−C を置き、ダイオードの足を差し込みます。

ダイオードの足は、一回切り取ると少なくとも2回は使い回しが出来るので小さな袋にとっておいたものを使って行きます。

差し込んで行くとクイッと入る感覚があるので、そこまでしっかり刺します。

全部刺さったら、ハンダ付け。

完成したら、必ず IC 専用ピン抜きを使います。こうしないと細い足が全部曲がってしまい、使い物にならなくなるので必ず用意します。

完成

これで Elite−C でも Gherkin を使うことができるようになりました。

Gherkin は裏面が表に出るので、That−Canadian 氏のトレードマークであるメープルが見えて、トロント(カナダ)住まいとしては嬉しい限りです。