はんだごてとか触ったのいつぶりかわからないぐらいですが、一度作ってみたかったので。
(ホームポジションぐらい違うキーキャップにすればよかったかもしれない…今から買い足そうかな…)
https://booth.pm/ja/items/952695 のフルセット透明を買ってからしばらく経ってしまっていたのですが、年末から年始にかけて組み立ててみました。 ほぼ他の方のビルドログを見て作った感じなので、その参考にしたサイトや自分でメモしてた部分などと、ファームウェア書き込みではまったところをメモします。
なお、セットに入っていない部品のうち、キースイッチは遊舎工房さんで R11 Tiffany Blue Tealios、 キーキャップは pimpmykeyboard で DSA 1 SPACE (PACK OF 10)のBCTを買いました。もともとkinesis advantage2(確か赤軸)を会社で使っていたのですが、打ち心地は同じぐらいか今回使った軸のほうがなんとなく打ちやすい? という所感でした。キースイッチ的にはグラつきに違いがあるらしいのでその辺りが打ちやすく感じるのかもです。kinesis、今まで使ったキーボードの中で一番打ちやすかったんですがいかんせん大きいんですよね…。
参考にしたサイト
ほぼそのまま見よう見まねでつくりました。ただ1つ目のサイトはErgo42(Towelじゃないほう)のビルドログっぽい? ので導通やProMicroの取り付けなどがTowelと違うところがあります。それでも全体の流れとかがとても参考になりました :pray:
作業メモ
抵抗値・導通確認ポイント
- ダイオードのはんだ付けミスってないか
- スイッチのはんだ付けミスってないか
あたりをテスターでチェックすると安心するのでまとめてみます。(参考にしたサイトさんで大体わかるのですがせっかく写真撮ったのでまとめたかった)TRRSジャックの導通チェックは忘れてました…。
なおテスターは https://www.amazon.co.jp/gp/product/B005BE4XZS を使いました。
ダイオードの抵抗値
スイッチ側に赤、↓の画像の方に黒を当てました。ダイオード単独での抵抗値とほぼ変わりがなければOK。(しかし写真めっちゃボケている。。。)
左側
右側
タクトスイッチの導通
片側しかメモが残ってなかったのですが位置的に左右対称になっているはず。(たぶんダイオードの抵抗値も左右対称のはずですが、片方が裏面が上に来る関係であんまりそう見えない気がする)
写真の位置にテスターを当てて導通していればOK。(私が使ったやつだと音が鳴ったらOK)
その他
なんかあったときに切り分けしたいので、スイッチをはめる前にスイッチの導通も1つ1つやりました。
組み立てで大変だったところ
- 最初、タクトスイッチを裏表逆につけてしまい、必死こいて外しました
- 買っといてよかったハンダ吸い取り器
- はんだの付け方はおぼろげな記憶でやると危険な気がしたので、いろいろ動画見たり調べたりしました。個人的には流し込む感覚が大事っぽい印象
- ProMicroはめるときに足がうまく入らなくて悪戦苦闘したあげく、なかば無理やり突っ込んだのですが、これってもっとスムーズに入るものなんですかね…まあ私の足の付け方がへたくそなだけだった気もする…
キースイッチはめてるときの写真兼ProMicroの向きメモ
ファームウェア書き込みできなかった件の対応(追記あり)
組み立ててMacに接続したものの、ProMicroのLEDはつくもののキースイッチは1つも反応せず、適当に当たりをつけていろいろやってたら解決したのでその顛末を書きます。twitterで作者の方( @Biacco42 さん)にも教えていただいたりしたのでのちほどこの記事のURLを持ってご報告に行かねば…。
(ここから追記)
https://github.com/qmk/qmk_toolbox#macos をやり直してみたところ、どうやら brew tap PX4/homebrew-px4
を忘れていたようで、これを実行して再インストールしたら動きました。。以降はそれに気づいてないときに色々やったものになります。Arch Linuxでのビルドのときにやることみたいな感じで読んでいただけると幸いです。
(ここまで追記)
環境
- Mac
- Mojave
10.14.2
- Mojave
- Arch linux(以下arch)
- avr-gcc
8.2.0-1-x86_64
->8.1.0-1-x86_64
(ダウングレードの理由については後述) - AURヘルパーは
yay
v9.0.1 - libalpm v11.0.1 を使っています
- avr-gcc
またMac/archどちらもファームウェアに書き込む avrdude
のバージョンは6.3でした。
作業の流れ
最初はMacでファームウェアを書き込もうとして、GitHubのドキュメント を見てコマンドを叩きました。
しかし make ergo42/rev1:default:avrdude
の実行中、キーボードを認識した後 avrdude: butterfly_recv() programmer is not responding
というエラーが出ました。何かしらの応答が帰ってこないので書き込みができていない模様。
なんとなくハードウェア書き込む系はOSによって色々ある気がしたので、環境依存でないことを確かめるためにarchを別PCにセットアップしました。VirtualBoxとか使うのも考えましたが、VM使うとUSB機器のバインドまわりでハマりそうだったのと、ちょうどOS入れ直したいマシンがあったのでそのマシンを使うことにしました。
yay
や git
入れたりssh鍵の設定したりしてarchのセットアップがそこそこ済んでから、以下のようにコマンドを叩いてファームウェアを書き込む準備をしました。
$ git clone https://github.com/qmk/qmk_firmware.git
$ cd qmk_firmware
$ ./util/qmk_install.sh
$ yay -S avrdude
その後、sudo make ergo42/rev1:default:avrdude
(archでは sudo
が必要)して、先程のprogrammer関連のエラーが出なくなったことを確認しました。
しかし、その後に address 0x800201 out of range at line 1080 of .build/ergo42_rev1_default.hex
というエラーが出て書き込みができませんでした。エラーメッセージでぐぐると、 avr-gccのバージョンが8.2だと動かないという情報を見つけました。コンパイルで想定しないメモリ空間にアクセスするようなファイルになってたりするんですかね?(この辺はファームウェアのコード読んだりしないとわからなさそう)
で、どうやら8.1.0まで avr-gcc
のバージョンをダウングレードしたらよさそうだったので、以下のような作業をしました。
$ yay -S downgrade # パッケージをダウングレードするためのライブラリ( https://syossan.hateblo.jp/entry/2018/09/16/031703 )
$ downgrade gcc
$ downgrade avr-gcc
で avr-gcc-8.1.0-1-x86_64
にダウングレードしました。
(しかし、今確認したところ、 ./util/qmk_install.sh
で avr-gcc
8.1.0-1-x86_64
をインストールしてるように見えるので、試行錯誤中にアップデートしてたのかもです。。)
その後、次のコマンドで再ビルドからの書き込みをやってみたところ無事に成功し、キースイッチを押したら反応するようになりました。
$ sudo make clean
$ sudo make ergo42/rev1:default:avrdude
この後はMacにつないでも正しく反応しました。karabiner elementsのEventViewerで確認しましたが全キーが正しく反応しているようです。
結論
- Macだとprogrammerが応答しなかったのは謎→(追記)
brew tap
漏れが原因でした。逆に言うと↑みたいなエラーが出たらそのへん疑えば良さそう- OS依存なのか他の何かなのかわからないけど、
avrdude
のバージョンに差異がなく、もちろんハード的に変化があるわけではないので他はOSぐらいしかない気がする…あとはなんか入れ忘れてるとかかな…→(追記)入れ忘れてました
- OS依存なのか他の何かなのかわからないけど、
- その後のファームウェア書き込み失敗は
avr-gcc
のバージョン問題でした
まとめ
これからキーマップ考えます。毎回このキーボードが使えるわけでもないので基本はQWERTYから変えないとは思いますが、kinesisで快適だったので親指でEnter押すようにしようと思っています。あと最近SKK始めたのでShiftの位置も考えたいです。Ctrlは小指なのでこのままだと左手の小指が危ない。