見出し画像

【備忘録】uzu42×BMP

uzu42をBMPで無線化してみました。
パーツの色を統一するの格好良くていいですね(タイピング速度が3倍になりそう)。
また、分離型×無線だとデスク上での配置自由度が高くて良さそうです。

さて、ビルドガイドが丁寧に書かれているので、作業中に困る部分は基本的に無かったのですが、
BMPに関する部分で詰まった箇所があったので、ビルドログというほどでも無いですが簡単にメモを残しておきます。

準備

ビルドガイドを参照して必要なものを購入しました。

BMP化する場合、TRRSケーブルは無くても良いですが、USBケーブルはファームウェアの書き込みに使用するので必要です(普段は使わないので新たに購入する必要は無いです)。

今回OLEDモジュールとLEDは使用していません。

別途ビルドガイドに記載が無くて、BMP化する際に購入が必要なものは、
BMP本体×2個BMP用の電池基盤×2個コイン電池(CR1632)×4個(最低2個)です。

BMPにはコンスルーが付属していないので、別途購入するか、もしくはuzu42のキットに入ってるのを使うと良いと思います。
コイン電池はコンビニで買いました(百均でも売ってるらしいです)。

作業工程

上でも書いたように、基本的に製作者様が用意されているビルドガイドを参照すれば困る部分は無いです。

BMPについては、以下2つのページを参考にしました。

ファームウェアのセットアップ

電池基盤の取り付け

動作確認

ビルドガイドやその他ページを参考にしながらスムーズに進めて、外見の部分についてはひとまず完成しました。

残りはキーマップを設定して動作確認するだけです。

キーマップの設定はブラウザから以下のページにアクセスして行いました。

BMPのペアリング用のキーとして、「ADV w/o WL」 をどこかに設定しておく必要があります(他のキーでも良いのかもしれませんがよく分かっていません)。

キーマップの設定後、動作確認をしてみたところ問題が発生しました。
先程設定した通りに、キーが入力されません。
(「A」と設定したキーを打ったのに別の文字が入力される感じです。)

原因が全く分からず困ったので、とりあえず全てのキーを打って試してみることに・・・

すると、どうやら入力のズレに規則性があるような気がしたのでファームウェアの設定がおかしいのでは?と思い始めました。

上記の手順どおりにBMPのファームウェアをセットアップした場合、PCと接続したときに、画像のようにBMPの中が見えるようになっていると思います。

画像1

調査の工程は省略しますが、結果的にCONFIG.JSNを以下のように修正したところ、(多分)動作が正常になりました。上手くいって良かったです。
layoutの部分を変更しています。

修正前のCONFIG.JSN

{"config":{"version":2,
"device_info":{"vid":"0xfeed","pid":"0x3060","name":"uzu42","manufacture":"nrtkbb","description":"A split keyboard with 4x5 vertically staggered keys and 1 thumb "},
"matrix":{"rows":8,"cols":6,"device_rows":4,"device_cols":6,"debounce":1,"is_left_hand":1,"diode_direction":0,"row_pins":[7,8,9,10],"col_pins":[20,19,18,17,16,15],
"layout":[
 1,  2,  3,  4,  5, 26, 25, 24, 23, 22,  0,
 6,  7,  8,  9, 10, 31, 30, 29, 28, 27,  0,
11, 12, 13, 14, 15, 36, 35, 34, 33, 32,  0,
16, 17, 18, 19, 20, 21, 42, 41, 40, 39, 38, 37]},
"mode":"SPLIT_MASTER","startup":1,
"peripheral":{"max_interval":30,"min_interval":30,"slave_latency":16},
"central":{"max_interval":30,"min_interval":30,"slave_latency":0},
"led":{"pin":1,"num":54},
"keymap":{"locale":"US","use_ascii":0},
"reserved":[0,0,0,0,0,0,0,0]}}

修正後のCONFIG.JSN

{"config":{"version":2,
"device_info":{"vid":"0xfeed","pid":"0x3060","name":"uzu42","manufacture":"nrtkbb","description":"A split keyboard with 4x5 vertically staggered keys and 1 thumb "},
"matrix":{"rows":8,"cols":6,"device_rows":4,"device_cols":6,"debounce":1,"is_left_hand":1,"diode_direction":0,"row_pins":[7,8,9,10],"col_pins":[20,19,18,17,16,15],
"layout":[
 1,  2,  3,  4,  5, 29, 28, 27, 26, 25,  0,
 7,  8,  9, 10, 11, 35, 34, 33, 32, 31,  0,
13, 14, 15, 16, 17, 41, 40, 39, 38, 37,  0,
19, 20, 21, 22, 23, 24, 48, 47, 46, 45, 44, 43]},
"mode":"SPLIT_MASTER","startup":1,
"peripheral":{"max_interval":30,"min_interval":30,"slave_latency":16},
"central":{"max_interval":30,"min_interval":30,"slave_latency":0},
"led":{"pin":1,"num":54},
"keymap":{"locale":"US","use_ascii":0},
"reserved":[0,0,0,0,0,0,0,0]}}

最後に

BMPを使うのが初めてで、全く知識もないため、問題が発生したときに、「uzu42 BMP」などで検索したのですが、前例があまり無い?らしく、めぼしい情報が見つからず困ってしまいました(解決までに3時間くらいかかりました)。

なので、誰かの参考になればと思い記事にしましたが、
BMPについては本当にド素人なので、この記事の方法で対処できなかった場合はお手上げです。申し訳ございません。

分離型×BMPは非常に"ロマン"を感じるので、また組んでみたいです。

この記事が気に入ったらサポートをしてみませんか?