Keyball44の制作作業 後編

前回の記事の続きです。自作キーボードKeyball44の制作記録です。

https://qiita.com/suzuki-navi/items/8bbd8b14d2b08f5de011

OLEDのはんだ付けまで終わったところで、PCに接続して最低限の動作確認を行うところからです。

公式のビルドガイドでいうと「ProMicroの書き込みと動作確認」のところからです。

https://github.com/Yowkees/keyball/blob/main/keyball44/doc/rev1/buildguide_jp.md

# ProMicroへのファームウェアの書き込みと動作確認

今回私はLEDを取り付けていないので、 LEDの動作確認が不要で、ファームウェアはテスト用ではなく正規のものを最初から書き込みました。

USBケーブルでPCと接続し、PCのブラウザで以下のページを開けばファームウェアを書き込むことができます。

https://remap-keys.app/catalog/tAJ9Htme4oNabUkx4832/firmware

このページはRemapというサイトにあるファームウェアを手元のキーボードに書き込むためのページです。Remapは自作キーボードのキー配置をカスタマイズできるツールであり、キーボード完成後に本格的に使うことになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/d67221c2-bf55-ef8c-e80e-89868dfb6720.png)

「FLASH」ボタンを押すと次のような画面になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/107f97b3-4fbe-43f3-102d-cfc1372e10c3.png)

Bootloaderの選択肢があったが、よくわからないままcaterinaを選び、それでキーボードは無事動きました。

「serial port」を選択する画面が出るで、「Pro Micro 5V」を選択しました。ブラウザからシリアルポートにアクセスできるのか！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/2de9b4f7-8319-83c7-087a-32149e883f4e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/a15d7820-01b0-c646-d109-5149d9e149da.png)

ファームウェアを書き込むとPCからはKeyball44をキーボードとして認識されます。プリント基板にはんだ付けしたキーソケットの2つの電極部分をなにかしらの金属で通電すると、その部分のキーが押されたことになり、PCに文字が入力できます。Keyball44の左右とも同じことを試して動作することを確認します。

私は一部のキーだけ試して、無事文字が入力できることを確認しました。しかし、OLEDは左手側だけ表示され、右手側は表示されませんでした。原因がわからなかったし、そもそもこの段階ではOLEDが表示されるのが正解なのか、まだ表示されなくても問題ないものなのかもわかりませんでした。

あとでわかったことですが、この段階でOLEDは表示されるはずであり、私の右手側のKeyball44は12か所ものはんだ付け漏れがあったのでした。

OLEDが表示されない段階ではんだ付け不良の可能性を疑い、特にOLED付近を目でチェックして怪しそうなところをはんだを溶かしなおしたりして修正しました。それでもOLEDが回復しなかったので、OLEDが表示されないことが問題なのかどうかわからないまま、この先の作業を進めることにしました。


# トラックボール読み取りセンサーを組み立て

組み立てる部品
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/3fa353aa-49b6-f8c7-4382-cc4e5bf5c883.png)

センサーICをボール基盤に差し込んだ様子（はんだ付け前）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/c7f5f000-8c1a-6d1c-d50c-1d5f83b801c2.png)

ボール基盤でのはんだ付けは16か所です。

はんだ付けをしてレンズを取り付けた後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/6e284f5d-be23-c5bb-fb45-62d6a0d76462.png)

L字コンスルーをプリント基板にはんだ付け
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/4e3099a4-3fb0-b51a-bd91-1f7b69bf700d.png)

L字コンスルーのはんだ付け箇所は7か所です。ボール基盤を含めるとトラックボールセンサー関連で23か所になります。

はんだ付け作業はここまでで全部です。私はこの段階で12か所のはんだ付け漏れにまだ気が付いていなかったので、またあとではんだ付け作業に戻ることになりますが、正規の作業手順でははんだ付けはここで終了です。

はんだ付け箇所の数は以下の通り、全部で348か所でした。

ダイオード: 92
キーソケット: 88
ジャンパ: 13、
TRRSソケット: 8
タクトスイッチ: 4
4連ピンソケット: 8
ProMicro: 96
OLED: 16
トラックボールセンサー: 23
合計: 348

もしLEDも付けるとしたら236増えて全部で584か所となります。

# プレート類・キースイッチを組み立て

はんだごてから解放された後は、プレート類やキースイッチを取り付けていきます。

前回の記事にも書きましたが、キーボードの表面側（キーキャップのあるほう）から次の順に重ねます。キースイッチはプレート類を貫通しますが、表側から差し込みます。

- キーキャップ
- キースイッチ
- トッププレート
- ミドルアクリルプレート
- ミドルPCB（プリント基板）
- ボトムアクリルプレート

このうちキーキャップは最後に取り付けます。キースイッチも最初は端の数か所だけの取り付けでよく、残りは最後に取り付けます。

プリント基板に貼り付けたマスキングテープは、プレートを取り付ける前に剥がしておきます。

トッププレート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/bd436ca4-c10b-6537-eb1b-a8f37b5f336f.png)

ミドルアクリルプレート（保護シートを剥がす）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/5036123b-5208-6e7f-b60d-137e1f562ce9.png)

ボトムアクリルプレート（保護シートを剥がす）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/57a0cec5-1174-ad41-9f12-7736eb456762.png)

プレート類を全部組み立てた状態
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/beac51c3-c93a-8377-a908-a460418dd9ba.png)

# トラックボール読み取りセンサーを取り付け

ボール基盤をKeyball44本体のプリント基板に差し込んだ様子
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/7e0461e7-38a5-016f-376e-826e636c9a8a.png)

組み立て前のトラックボールケース
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/a3c649e3-77e0-9245-e4f0-ef5bd95e750c.png)

トラックボールケースを取り付けた様子
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/3d2d5947-5058-b4a4-ec6d-980e6c42c42c.png)

裏から見た様子
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/313aecaa-e3e2-0852-b960-f5580999c258.png)

私ははんだ付け不良があとで発覚する予感がしていたので、ボトムプレートは全部をねじ止めせずに仮で2か所ずつのみにしました。

また、ボトムプレートにクッションゴムを付けませんでした。ノートPCのキーボードの上にのせて使うことを想定しており、クッションゴムを付けるとキーボードの上に置けなくなると懸念したためです。クッションゴムがノートPC側のキーを押し続けてしまいそうです。


# OLEDの保護プレートを取り付け

OLEDの保護プレートを忘れずに。ビルドガイドでの作業手順ではここで取り付けることになっていますが、私はこの手順を読み飛ばしていて、キースイッチを全部取り付けてから保護プレートを付けることになりました。特に問題はありませんでした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/d9dd1233-110e-915e-a6b2-aed2da22b53f.png)

保護プレートにも保護シートが付いているので、これを剥がしてからねじ止めします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/be16c586-f92b-9dbe-e4b2-6d5a101f282e.png)


# キースイッチとトラックボールを取り付け

キースイッチは取り付ける前に端子の足がまっすぐになっているかを確認します。折れていたり、斜めになっていたりするとキーソケットに正しく接続されないので、慎重に確認します。

キースイッチはカチャカチャはめていくだけですが、固かったです。普通に手で押し込むことができなくて、この写真のようにニッパーの反対側を使って力を込めました。この固さは将来交換したくなったときに外せるのだろうかと不安になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/64ea245e-0edb-3dfc-6ffe-0ac4ef9cac69.png)

キースイッチを一部だけ取り付けたときの裏面の様子（キースイッチの付いている箇所だけキースイッチのピンがわずかに覗き見えます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/7d8a5083-b82a-4fa5-8954-0f05fe9eacbb.png)

トラックボールは収まる場所に収めるだけ。スポッて入ります。

すべて取り付けた状態
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/8eabaf7b-1c60-b688-ca43-5ac534578a80.png)

キースイッチは制作時の破損に備えて2個余分に購入したが、1つも破損せずに完成できました。


# トラブルシュート

さきほどの動作確認でOLEDが右手だけ表示されなかった問題が気になって、私はキースイッチをいくつか取り付けた段階で再度PCに接続し動作確認することにしました。今度は左右をTRRSケーブルで接続し、キーボードとしては完全な状態のはずです。

- 左にUSBケーブルを接続すると
    - 左のOLEDは表示される
    - 左のキーは反応する
    - TRRS接続すると
        - 右はOLEDが表示されない
        - 右のキーは反応しない
- 右にUSBケーブルを接続すると
    - 右のOLEDは表示されない
    - 右のキーは反応する
    - TRRS接続すると
        - 左はOLEDは表示されない
        - 左のキーは反応しない

どちらかというとやっぱり右があやしい。特にOLED付近があやしい。左右の通信ができていなさそうなので、 TRRSソケット付近もあやしい。

ボトムプレートを外し、トラックボールケースをはずし、はんだ付け箇所を見直しました。

OLED付近とTRRSソケット付近をはんだ付けし直したが治らない。途方に暮れた。

・・・

しばらくしてからもう一度はんだ付けを見直したら、あれ？ProMicroの1列分がまるまるはんだが少ない気がする。少ないというかまったく付いていない気がする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/56734140-96dd-7524-9a9f-4bcfd1755d98.png)

なぜここを見落としていたのかわかりませんが、原因がわかってよかったです。疲れていたかもしれないです。1列分のはんだがまったくなくてもキーは認識できていたのが不思議です。電子機器は意外と丈夫だと思ってしまいました。

ということでこの12か所をはんだ付けしました。

PCに接続したら、完全に治った！

すべてのキーの動作確認にはRemapを利用しました。Remapでの動作確認は別記事で書くつもりです。（2023/12/17追記：[こちら](https://suzuki-navi.hatenablog.com/entry/2023/12/17/232540)に書きました）

動作確認したら、トラックボールケースとボトムプレートを再度取り付けます。


# キーキャップ取り付け

ここからはもう先が見えているので楽しくなります。キーキャップを取り付けるだけです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/2bf43a06-4273-014f-e11d-00131c4a017e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/65238877-1636-8afb-794c-a8eddd00af66.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/6243a23a-f1a9-0eea-2716-2132f6cdfc94.png)

キーキャップは少し多めに買っており、色の配置をあとで変えられるようにしています。実際にこの数日後に実用上の理由により肉球が中央に移動しました。

完成しました！前回の記事にある作業開始は土曜のお昼過ぎで、現時点で土曜の夜遅くです。はんだ付け初心者でも一日で作り切りました。