2019-09-03に更新

Iris無線化ログ

Iris無線化ログ

Irisビルドログ(完成)
↑前回の記事

何をしたのか

前回までに作ったIrisをBLE Micro Proを使用して無線化。

使用したもの

  • 完成済みIris
  • BLE Micro Pro ×2
  • CR1632基板キット (2個入りなので1個で良い。結果的に2つ買うことになりましたが)
  • スプリングピンヘッダ (普通のピンヘッダでもよいが圧倒的にスプリングピンヘッダがおすすめ)
  • はんだ付けセット
  • 導線的なやつ
  • 絶縁できそうなテープ

制作過程

ファームウェア作成

sekigon-gonnoc/qmk_firmware
こちらにBLE Micro Proに対応したキーボードのファームウェアがいくつかありますが、Irisのものはなかったので自分で作る必要がありました。

sekigon-gonnoc/BLE-Micro-Pro

qmk_firmware/keyboard/ble_micro_testが一体型、qmk_firmware/keyboard/ergo42_ble, helix_bleなどが左右分離型のサンプルとなっています。

とあるのでqmk_firmware/keyboard/ergo42_bleqmk_firmware/keyboard/helix_bleを参考にIris用のファームウェアを作成しました。
作成したと言っても参考元をすべてコピーしてきて必要そうな箇所(ファイル名とかキーボードの名前とか)を書き換えただけです。

電池基板組み立て

sekigon-gonnoc/BLE-Micro-Pro/CoinCellHolder
こちらの注意点と他の方の組み立てログを見ながら電池基盤を組立てました。
電池基盤の裏面はテープを貼って絶縁しています。

電池基盤をBLE Micro Proに接続する

動線で直接つなげてはんだ付けしました。

ファームウェア書き込み

作成したファームウェアを書き込みます。
リセットスイッチを押しながらUSBを刺さなかったせいで、makeは成功するけど書き込みに失敗するということがありました。

左右のキーボードを接続する

左右分割キーボードの場合はPCとキーボードよりも先に左右のキーボードを接続する必要があります。多分。
何故か全然つながらなくて苦労しました。
両方ともシリアル接続してdel 0してadvしたら接続できたので、おそらく組立前にPCとの接続テストをやっていたせいでid=0にPCが登録されていたのが原因だったのでしょう。


シリアル接続に使用したコマンドメモ
ls -l /dev/tty.*
sudo cu -l /dev/tty.XXXX

PCと接続する

左右のキーボードの接続が終わればようやくPCとの接続です。
restart_advertising_wo_whitelist()を呼び出すキー(AD_WO_Lが割り当てられたキー)を押してPC側から接続するキーボードを選べば接続できるはずです。

完成までにやらかしたこと

最初に買った電池基盤は付属のスイッチがやたらと固くて、力を込めてOFFにしようとしたら折れました。
もう一個買いました。
折るくらいなら先に問い合わせたほうが良かった。
他の電池基盤を組立てている最中に表面実装のダイオードをふっ飛ばしてなくしてしまったので、結果的に2セット買ったのが役に立ちました。


右手のキーボードのBLE Micro Proを裏表逆につけていました。
スプリングピンヘッダを使用していたのではんだ付けをしておらず助かりました。
そうでなければ(精神的に)死んでました。

使用風景


最後に

無線キーボード最高!!


現在の設定。
BLE_NUS_MIN_INTERVAL = 30
BLE_NUS_MAX_INTERVAL = 50
BLE_HID_MAX_INTERVAL = 30
BLE_HID_SLAVE_LATENCY = 4
まだ偶にキーが連続で入力されてしまうことがあるので設定を変えるかもしれません。


この記事は無線化したIris(Iris BLE}で書かれました。


block

京都のゲームプログラマ。 C++/Rust/Game/Programmer/立方体

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント