片手キーボードFroggyへQMK Toolboxを用いてファームウェア書き込む


要約

HexファイルとQMK Toolboxで以下のように書き込む際は以下に留意する。

・半田付けはなんとかなる。
・Froggy用のHexファイルはダウンロードする。
・Macでセキュリティの都合でOMK Toolboxを開けない時はspctlコマンドを使う。
・リセットスイッチの半田付け不良はProMicroのランプが点滅?するかどうかで確認できる。半田付け不良の場合はショートさせることで対応できる。
・usbケーブルは適切なものでないと動かない。

はじめに

 憧れの片手用キーボード‘Froggy‘を組み立てた。

 途中で何度もつまづき、かといってFroggyの情報は多くなく、挫けそうになりました。そこで、(私のような)初学者の役立つと考え、つまづいた点を書くことにした。

組み立てたFroggy実物(Mac用にキーキャップを配置している)

環境

macOS; version 11.3
zsh; zsh 5.8 (x86_64-apple-darwin20.0)
QMK Toolbox; Version 0.1.1 (0.1.1)

準備

 私はプログラミングも電子工作も素人であり、特にハンダ付はまったく経験がほぼゼロである。以下の記事をよみ、準備が十分に必要なことを知った[1]。この記事で、(初学者が)どこでつまづくかの参考にもなり、かなり有用だった。

[1]ごみHelixキーボードの作り方 - Qiita, https://qiita.com/chesscommands/items/6bf774ee30d410995879

 自作キーボードは種類がなんであれ、(1)組み立て、(2)ファームウェア書き込み、(3)動作確認、の手順である。
 ビルドガイドを熟読(重要!)して望めば、組み立てはなんとかなるものなので、その詳細は割愛し、ファームウェアのつまずきポイントを中心に書いた。

Froggyの組み立て

 この記事を一番参考にした[2]。

[2]自作キーボードFroggy(Helix)で辛勝した道筋 - Qiita, https://qiita.com/suuuyooo/items/e2a65e7d417612970e0f

 上記で参考にしている以下の記事も参考にした[3][4][5][6]。

[3]公式ビルドガイドとされるもの, helix/buildguide_jp.md at master · MakotoKurauchi/helix, https://github.com/MakotoKurauchi/helix/blob/master/Doc/buildguide_jp.md
[4]公式ビルドガイド共に頼りになる手順書, Helix 自作キーボード製作記 (その2) │ Rephtone, https://rephtone.com/electronics/helix-keyboard-part2/
[5]あらかじめQMK Toolboxの準備をしておいた方が段取り的にはよいらしい, helix/firmware_jp.md at master · MakotoKurauchi/helix, https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md
[6]ダイオードの付け方がとても参考になる, Helix キーボードキットを組み立てた話 - critical alertのブログ, https://critical-alert.hatenablog.com/entry/2018/07/21/190204

ファームウェア準備

 遊舎工房のwebページでFroggy用のHexファイルがダウンロードできようになっていたので、それをダウンロードした(日本語配列版Hex;helix_rev3_5rows_froggy-jp_27f6afc.hex いうやつです)[7]。

[7]Froggy用のHEXファイル, Froggy – 遊舎工房, https://yushakobo.jp/froggy/

QMK Toolboxでファームウェア書き込み

 ProMicroにファームウェアを書き込むのには、コマンドラインで行う方法と、GUI(Graphycal User Interface)で行う方法がある[8]。前者はkeymap.cを編集(もしくは準備されたものの初期状態のまま)してmakeコマンドでProMicroへ書き込む(同時にHexファイル作成も作成される)。後者は、hexファイルを準備してアプリケーションQMK Toolboxで書き込む。

[8]自作キーボード'meishi2'のキーマップをコマンドラインで変更する。 - Qiita, https://qiita.com/BlackCat_617/items/cd14804e3394c8856679

 今回は、前節のごとく、Froggy用のhexファイルがすでに準備されていたのでQMK Toolboxを用いて書き込むことにした。

動作確認 > リセットスイッチを押してもまったく反応がない。

 参考[9]に従い、QMK Toolboxで動作確認をした。リセットスイッチを押しても 'Connected' とメッセージが出ず、まったく反応しない。

[9]「とりあえず動作を確認したい」というタイトルの記事, helix/firmware_jp.md at master · MakotoKurauchi/helix, https://github.com/MakotoKurauchi/helix/blob/master/Doc/firmware_jp.md

 原因として、「スイッチの半田付け接触不良」、「QMK Toolboxが古い」、といったことが考えられた。そこで、まずQMK Toolboxをインストールしなおすことにした。

 以前、キーボード 'meishi2' を作成した時にダウンロードしたQMK Toolboxを削除し、Froggy用のhexファイルをダウンロードしたここ[10]から改めてダウンロードした。

[10]yushakobo/qmk_firmware at froggy_keymap, https://github.com/yushakobo/qmk_firmware/tree/froggy_keymap

QMK Toolbox を開けない(spctlコマンドの利用)

 QMK Toolboxを開こうとすると「"QMK Toolbox.app”が悪質なソフトウェアかどうかをAppleでは確認できないため、このソフトウェアは開けません。」と警告がでて開けなかった。

 いつもの方法("環境" -> "セキュリティとプライバシー"・・・)では対処できなかった(私の勘違いかもしれませんが)。

 spctlというコマンドで、一時的にセキュリティを解除?することで無事アプリケーションを開くことができた[11][12][13]。

[11]"QMK Toolbox.app”が悪質なソフトウェアかどうかをAppleでは確認できないため、このソフトウェアは開けません。 - :wq, https://scrapbox.io/ima1zumi/%22QMK_Toolbox.app%E2%80%9D%E3%81%8C%E6%82%AA%E8%B3%AA%E3%81%AA%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%82%92Apple%E3%81%A7%E3%81%AF%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E3%81%93%E3%81%AE%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AF%E9%96%8B%E3%81%91%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82

[12]sudo spctl --master-enable, macOS Sierraで「すべてのアプリケーションを許可」の設定を復活させる | Macの手書き説明書, https://mac-tegaki.com/basic-usage/sierra-mac-app-store-permission.html

[13]Gatekeeperの許可リストにアプリを追加するターミナルコマンド | Macの手書き説明書, https://mac-tegaki.com/basic-usage/gatekeeper-command.html

QMK Toolboxをいれなおした後も、リセットスイッチを押しても反応しない(半田付け不良)。

 接触不良と判断し、てきとうな導電線(ハンダ線でも可)で短絡(ショート)した。

 短絡の仕方は、リセットスイッチが半田付けされている2極を1本のハンダ線でつなげるだけ。ProMicro内のランプが反応(点滅?)して、短絡されたかどうかわかる。

短絡しても反応しない(usbケーブル変更)

 作成キットに同梱されたusbケーブルに変えて、改めて '動作確認' をしたところ無事反応した(画面に connected云々表示された)。

 なんとなく手元にあったusbケーブル(bluetoothキーボード充電用)を用いたのが良くなかった。ここでかなり時間を浪費してしまった。

 '動作確認' で問題なく終え、準備しておいたFroggy用のhexファイルとQMK Toolboxで書き込む。

反応しないキーが2つある(半田付け不良)

 ハンダ付不良やハンダ付の際にダイオードを壊してしまった、などが考えられた。

 ハンダ吸い取り線を用いてハンダを溶かして吸い取り、ダイオードを外した。テスターで確認すると、2つののダイオードとも壊れていなかった。ハンダ付不良と判断し、あらためてハンダ付をしたところ、これらのキーは反応するようになった。

 以上でFroggyへのファームウェア書き込みを完了した!
 

考察

 keymap.cを編集して自由にキーマップを変更できればなおよい。

 それにもいくつか注意点があるため、別の記事で書くことにする。