2017年7月31日月曜日

Let's Splitキーボードを作る道(安物買いのなんとか編)

オプションみたいな部分を除けば製作記事はこれで最終回(の予定)です。
果たしてめでたい謹製Let's Splitの運命やいかに。



ファームウェアコンパイル環境の構築

前回の記事で無事に製作が完了したLet's Splitに対してファームウェアを焼きました。
Let’s SplitはQMK Firmwareに対応しているのでこれを使いました。
以下、オリジナルのキーレイアウト名を「medetai」として進めます。

最初はWindows上で環境を作りました。
Ubuntu on Windows上にAVR系のツールをインストールし、make ./rev2-medetaiしてコンパイル。
生成された.hexファイルをAVRDUDEのGUI実装AVRDUDESSを使って焼くという面倒な作業が必要でした。
GUI自体はまあいいとして、起動のたびにブートローダーとチップを選び直さないといけないのがうーんって感じでした。
その上左右でそれぞれeepromファイルを指定しなければならないのと、マイコンをリセットしてからポート指定して書き込み開始するまでがタイムアタック(8秒ぐらい)なのが、特にキーマップに試行錯誤する初期にはなかなかのストレスになってしまっていました。

  • 硬派なオタクゆえGUIがなかなか使いこなせない…



しかし、その後Mac上に環境を導入したところ、AVR系のツールはすべてHomebrewでインストールできる上に、コマンドmake ./rev2-medetai-avrdudeを実行するだけでコンパイルから書き換えまで全部できるので負担が一気に減りました。
やっぱりこういう作業はUnixLinux系のほうが5000兆倍いいですね。

  • こんなキーボード作る人はWindows以外の環境の1つや2つ持ってそうだから大丈夫そう
  • ちなみにCentOS6系だとyumのAVR-GCCのバージョンが低すぎてコンパイル出来なかった



また故障

これで自作キーマップを試して遊んでたところ、プログラムが悪かったのか書き換え中に何かあったのかはわかりませんが突然右側のPro Microのポートが開かなくなってしまいました。
また、それまでマイコン上のTX・RXのLEDが元気に点灯していたのに、それも完全に消灯し沈黙してしまいました。


  • なんもしてないのに壊れた(Yahoo知恵袋並の感想)
  • 後から調べたら本来は最初から消えてるはずだったらしい
  • 最初からちょっと壊れてた説
  • やっぱ中華製激安マイコンって

ネットで解決法を調べたのですが、ポートが開くこと前提の回答ばかりで全然参考になりませんでした。
予想ですけど多分ブートローダーが逝ってるっぽいのでPCから何とかするのは難しそうです。
  • 唯一ためになったのは、英語ではデバイスが動かなくなることを「Bricked(レンガ化)」っていうって知ったこと
  • 日本の「文鎮化」っていうのもこういうスラングから来てるんですかね

唯一の解決法

ソフト側での解決が無理なので、ハード側から攻めるしか選択肢がなくなりました。
とはいえRAMをいじったりICの配線確認するみたいな芸当は出来ないので、



というわけでまた強硬策を取ってしまいました。
前回は無かった半田吸い取り機を使ってみたらかなり楽に外せました。
前回は5ヶ所の半田を外すのに3時間ぐらいかかってしまいましたが、今回は全部外すのに2時間ぐらいで済みました。
  • それでも手先不器用だから結局割れちゃった


それでまたAli ExpressでPro Microを調達して付け替えました。
これでまた+3ドルの出費となり、結局合計金額的に合計金額的に12,000円ぐらいになりました。



  • 同じ画像を3回も使いまわすブログ投稿者の屑


300円ぐらいのパーツの交換に何時間もかけてるのがすごい本末転倒感あったので、お金に余裕のある人はスイッチサイエンスの正規品を買ったほうが幸福度は高いと思います。

交換したのに動かない問題

新Pro Microへの換装が終わり、USBケーブルを繋いでポートの確認とファームの書き換えの動作確認ができました。
しかし、いざ左右両方をTRRSケーブルで繋いでみても反応しないという問題が発生しました。

数時間におよぶ格闘の末、以下のように配線することで無事動作するようになりました。
見た目がGeekっぽくなりましたが手作り感も出てちょっとイカします。


以下、その格闘の過程を箇条書します。

  • USB接続時には動作するのでマイコン自体の故障ではない?
  • 左右どちらをマスターにして繋いでも反応しない(電源LEDが付かない)
  • QMKのReadmeを確認すると左右の通信は3番ピン、VCC、GNDのみらしい
  • テスタで確認すると3番は通ってるっぽい(電位差見てるだけだから確証なし)
  • ということはVCCが通ってない?
  • マイコン の表面からの計測だとマイコン側は正常っぽい
  • ということは下のピンが死んでる?(壊れたマイコン外した時に折れた?)
  • 試しに上側から基板上のVCC箇所にジャンパしてみたらなんか動いた
初めてまともな修理ができた気がします。やったね。


完成しました



苦労した分愛着も湧きますね。
オシャレなカフェでも使えるオシャレキーボードなので色んな所に持ち運んで使ってます。
この記事もLet's Splitで書いてますし、なんなら完成してから他のキーボード触ってないです。
多分そう遠くない将来に苦労する気がしますが今は楽しく打ち込んでます。

  • 昔出先で「Dvorak配列使ってるんですよ〜」って言ったときに「そんなんじゃ将来苦労するよ」って諭されたのが思い出されます
  • 結局たびたび苦労してるから間違いではないけれども


長くなってしまったのでキーマップと感想は別な記事にします。
次回、結局どうなんだ編へ続きます。

2017/08/20追記

Let's Splitが盗難に遭ったのでここで打ち切りです。

0 件のコメント:

コメントを投稿

このブログを検索

翻訳