DO52Pro 製作記 4: ファームウェアの書き込みと、VIA での動作確認(Mac)
製作の進み具合■■■■□□□□4 / 8
ダイオードと Pro Micro を付けたあと、いよいよファームウェアの書き込みです。この記事は、Mac で、Pro Micro(ATmega32U4)に、ファームウェアを書き込んで、動作を確かめるまでの記録です。
私の手元のキットと、販売元から届いたファイルでの記録です。ファイルの中身は、販売元ごとに違う可能性があります。作業は自己責任でお願いします。
準備したもの
- Pro Micro を取り付けた基板(USB-C 端子)
- USB-C ケーブル
- Mac
- 書き込みツール: QMK Toolbox(公式の GitHub のリリースにある、macOS 用)
- ファームウェアのファイル(hex)と、VIA 用のキー配列の定義ファイル(JSON)
ファームウェアは、AliExpress の販売元に問い合わせて、送ってもらった、VIA 対応のものを使いました。ファイルを調べると、AVR(ATmega32U4)向けで、約23.8KB、USB の ID は、0xFEA6 / 0x0A54 でした。Pro Micro(ATmega32U4)で、そのまま使えそうでした。
Pro Micro の取り付け
ピンヘッダの向きや、左右の違い(右半分は、Pro Micro を裏返す)は、製作記3に書きました。
通電の前に、ショートの確認
半田付けが済んだら、USB をつなぐ前に、テスターで、VCC と GND の間を測ります。ゼロΩ近く(ブザーが鳴る)なら、ショートしているので、つないではいけません。私の場合は、約1MΩで、問題ありませんでした。
通電して、認識を見る
USB-C ケーブルを、Mac につなぎます。TRRS ケーブルは、つながないでください。
- Pro Micro の LED が点灯します(私の場合は、緑が1つ、赤が2つ)。
- Mac は「Arduino Micro」(Arduino LLC)として認識しました。出荷時の状態です。
ファームウェアを書き込む(QMK Toolbox)
- QMK Toolbox を開きます。
- 「Open」で、hex ファイルを選びます。
- 「Auto-Flash」にチェックを入れます。
- Pro Micro のRST と GNDを、ピンセットで、2回、すばやくショートします。
- USB-C を上にして、モジュールの右の列を、上から数えます。RAW、GND、RST、VCC の順です。ショートするのは、2番目(GND)と3番目(RST)です。
- 1番目の RAW には、触れないでください。
- ログに、ブートローダーの接続が出て、書き込みが自動で始まります。
書き込みが終わると、次のようなログが出ます。
avrdude: 23870 bytes of flash verified
avrdude done. Thank you.
Flash complete
「verified」は、書き込んだ内容を、読み戻して、一致したという意味です。
コマンドラインでは、失敗した
最初は、AI アシスタントに、スクリプトを作ってもらいました。QMK Toolbox の中にある avrdude を、コマンドラインから動かして、ブートローダーが現れるのを待ってから、自動で書き込む、というものです。(私が自分で書いたスクリプトではありません。)しかし、書き込みの前に、接続の確認で20秒ほどかかるうえに、Pro Micro のブートローダーは、約8秒しか待ってくれません。間に合わずに、失敗しました。
QMK Toolbox の GUI は、ブートローダーを検出した瞬間に、書き込みを始めてくれるので、確実でした。迷ったら、GUI です。
書き込み後の確認
ただの基板が、キーボードとして、認識された瞬間です。 かなり、うれしかったです。
書き込み後は、Mac が「DO52—YK」(VID 0xFEA6 / PID 0x0A54)として認識しました。キーボードとして認識された、ということです。
キーボードとして認識されたので、キーボード設定アシスタントが、起動します。 新しいキーボードが、つながったときの、Mac の通常の動作です。スイッチが付いていないうちは、閉じて構いません。あとで、「システム設定 → キーボード」で、キーボードの種類(ANSI など)を指定できます。
スイッチを付ける前に、入力を確かめる
スイッチやソケットを付ける前でも、基板のパッドを、ピンセットで橋渡しすれば、キーを押したのと同じ状態を作れます。ここで、全キーを確認しておくと、あとで、不具合を切り分けやすいです。
- スイッチ位置の、2つの丸いパッド(スイッチの足の位置)を、ピンセットでつなぎます。
- ブラウザで、キーテスターを開いて、出力を確認します。
- 反応しないキーは、そのキーのダイオードの向きや半田を、確認します。
私の場合は、左右とも、28キーが、すべて反応しました。ピンセットで、パッドをつなぐたびに、画面に文字が出ます。それだけのことですが、「やっと動いた」という実感がありました。
左右をつないだときの動き
左右とも、同じ hex を書き込めば、動きました。 次のような仕組みでした。
- 1枚だけを USB につなぐと、どちらの基板も、同じキー群が出ます。
- 2枚を TRRS ケーブルでつなぐと、USB につないだ側が「右半分」として、もう一方が「左半分」として、動きます。
- そのため、USB は、右にしたい基板(私の場合は、トラックポイントの側)につなぎます。
TRRS ケーブルの抜き差しは、USB を外してから行います。通電中だと、ショートの恐れがあります。
VIA で確認する
キー配列の変更には、VIA を使いました(Chrome か Edge で動きます)。
- VIA を開きます。
- 設定で「Show Design tab」を有効にします。
- 「Design」のタブで、販売元の JSON(
DO52.json)を読み込みます。 - キーボードをつなぐと、DO52 として認識されます。
- 「マトリックスをテスト」で、押したキーが光るか確認します。
結果は、こうでした。通常のキーは、全部、認識されました。トラックポイントも、ポインターが動きました。 ここまで、順調です。
喜びも束の間、画面をよく見ると、中央の5方向スイッチの位置だけ、暗いままでした。押しても、反応しません。ここで、壁にぶつかりました。
まとめ
- 通電の前に、VCC と GND のショートを確認。
- 書き込みは、QMK Toolbox の GUI(Auto-Flash)が確実。
- RST と GND を、2回すばやくショート。RAW には、触れない。
- USB は、右にしたい基板につなぐ。TRRS の抜き差しは、USB を外してから。
次の記事
ここまでで、キーの入力は確認できました。ところが、5方向スイッチだけが、反応しませんでした。 原因を探した話を、製作記5に書きました。ソケットの半田付けは、製作記3にまとめました。
DO52Pro自作キーボードファームウェアVIAQMKMac