【自作キーボード】無線でロープロファイルなErgonaut Oneを組み立てた【ZMK】

【自作キーボード】分割無線でロープロファイルなErgonaut Oneを組み立てた【ZMK】

こんにちはこんばんは、きりぽんです。

今回は、昨年遊舎工房のお苦しみ袋に入っていたCorneV4(基板)のケースを作るついでに、Corneの派生モデルであるErgonaut OneというZMK対応の自作キーボードを発注してみました。というわけで簡単なビルドログをブログ記事にしたいと思います。

この記事では、組み立ての過程や実際の使用感だったり良かった点と微妙だった点をシンプルに紹介します。

きりぽん

無線対応の分割キーボードに興味がある方や自作キーボードに挑戦したい方はぜひ最後までご覧ください。

ErgonautOneの動画

YOUTUBE CHECK NOW!


久しぶりに動画にしてみたので時間がある時に見てください。編集も簡略化しナレーションも抜いてだいぶシンプルにしたので見やすくなったかな?

ErgonautOneを選んだ理由

遊舎工房のお苦しみ袋

遊舎工房のお苦しみ袋

遊舎工房のお苦しみ袋に入っていたCorneV4基板のケースを作る際、ほとんど同じ配列のErgonaut Oneにも興味が湧き、JLCPCBに発注しました。主な利用目的は以下の通りです。

寝室で作業

去年のことですがベッドに寝転びながら、自作PCで行ってた作業やゲームをしたいと思い作業部屋からコンセント経由で寝室のテレビにHDMIで接続。その際にLogicoolの無線キーボード(K380s)とトラックボール(M575OW)を使用していましたが、カスタマイズ性の制限に不満を感じていました。

PCデスクと同じ配列

作業部屋で使用しているCorneやlöwinと近い配列のキーボードが好ましい。可能であればキーマップを同じ設定にしてタップダンスやマクロも統一したい。

ロープロファイルスイッチの試用

ロープロファイルスイッチを使ってみたかった。なにかと話題なロープロファイルスイッチだが以前に試打した際になんか打鍵感などしっくりこなくて避けて通っていた。今回はごろ寝用ということなので薄い方がいいと思いチャレンジしてみた。

選択したファームウェア

自分で設計したキーボードをZMKファームウェアに対応してみたかったものの、環境構築から慣れない作業に自信がなかった。とりあえずオープンソースのErgonaut Oneでどんな感じの使用感なのか試してみたかった。

必要な部品と工具

ergonaut-one--parts

基板Ergonaut One
MCUSeeed Studio XIAO nRF52840
ダイオード1N5819 SOD123
キースイッチNuPhy Cowberry 45gf
キーキャップSMOLO Keycaps low profile keycaps
ソケットGateronロープロファイルスイッチソケット
電源スイッチミニトグルスライドスイッチ
バッテリーEEMBリチウムポリマー601730
ネジ超薄型ネジ M2x8mm 50pcs
ナットステンレス鋼六角ナット M2 50Pcs
ケースJLC3DP SLA 9600 Spray マット白(両面塗装)
合計金額24,422円
はんだこて白光(HAKKO) PRESTO 急速加熱はんだこて
はんだ線高密度集積基板用 鉛入り半田
フラックスホーザン(HOZAN) フラックス
吸取り線goot(グット) 半田吸取り線
ニッパーワイヤレスケーブルカッター

パーツや道具のそれぞれの金額や合計金額は為替レートにより変動します。なお、基板は5枚から注文できますが、端数が出るのが嫌だったので今回は10枚で注文しました。

組み立て工程

Seeed Studio XIAO nRF52840

Seeed Studio XIAO nRF52840

まず、XIAOBLEを基板にはんだ付けしました。表面のピンのはんだ付けと裏面のバッテリー接続用のパッドをはんだで埋めます。ピンの接続は全体的にはんだで覆ってしまいましたが側面だけのほうが取り外す際は楽かも。

ダイオードとソケットを取り付け

ダイオードとソケットを取り付け

PCBに必要なダイオードやソケットをはんだ付けしました。ダイオードは方向に注意しながら配置します。

電源オンオフスイッチの取り付け

電源オンオフスイッチの取り付け

バッテリー電源用のオンオフスイッチを取り付けます。位置合わせ用の穴があり助かった。

バッテリー取り付け

バッテリー取り付け

バッテリーを基盤に取り付け。コネクタを購入したのですが規格を間違えたので配線を基盤に直接取り付けました。取り付ける際に間違ってショートしないよう一本ずつ配線を切断してはんだ付けしました。

はんだ付け作業完了

はんだ付け作業完了

バッテリーの取り付けなど初めての作業もありましたがLEDなどが無かったので比較的作業が少なくて良かった。

デフォルトファームウェアを書き込む

デフォルトファームウェアを書き込む

次に電源オフの状態でリセットボタンを2回押しファームウェアを左用と右用それぞれ書き込みました。

左右を同期する

左右を同期する

ファームウェアを入れたら電源を左右オンにしてリセットボタンを同時押しして左右を同期させます。

PCにBluetooth接続

PCにBluetooth接続

PC側のデバイスを追加からBluetoothを選択するとErgonaut Oneが表示されるので選択。無事に接続されると一覧に表示される。このときに表示されるバッテリー表示はマスター側の残量みたい。

基板をケースに入れ組み立て

基板をケースに入れ組み立て

最後に、基板をケースに取り付けます。今回はJLCPCBの3DPプリントサービスでマットホワイトに塗装してもらったケースを使用しました。JLCでケースを作る際のメリットは初期投資が少なく塗装の手間もかからず、一定のクオリティーのものが届く。デメリットとしては塗装を依頼した場合は完成まで144時間かかるため、納期が長い。耐久性にやや不安があり塗装剥がれのリスクあり。余裕があればつや消しクリアを自分で施工すると良い。

MEMO
レジン製のため若干の歪みがありましたが、ヒートガンを100度に設定して加熱し、平らな机に押し付けることで矯正可能でした。それから塗装は指定しない場合、表面のみ塗装されるため、裏面もきれいにしたい場合は備考欄に「両面塗装」と記入。なお塗装により厚みが増すため、設計時に考慮が必要です。

キーマップの変更

Ergonaut One 構成のコピー

Ergonaut One 構成のコピー

キーマップの変更はGitHubのアカウントにログインした状態でテンプレートリポジトリをUse this templateクリックしてCreate a new repositoryを選択。Repository nameにergonaut-one-firmwareと入力してPrivateに設定してリポジトリーを作る。

アクセス権限の設定

アクセス権限の設定

次にキーマップエディタのアクセス権限の設定をします。Only select repositoriesでergonaut-one-firmwareを選択して保存する。

draw/drawとエラーが出る場合

draw/draw

draw/draw

またこのまま使いファームウェアを生成するとdraw/drawとなり失敗する事があったのでchatgptで調べて以下の変更を加えた。

Tokenを発行

Tokenを発行

GitHubの Settings > Developer settings > Personal access tokens から PAT を作成。必要なスコープ: repo (リポジトリの書き込み権限を付与)。GitHub Actions に PAT を登録。登録をするとハッシュ値の秘密鍵が発行されるのでそれをコピーしておく。

New repository secret

New repository secret

次にGitHub リポジトリの Settings > Secrets and variables > Actions に移動しNew repository secretをクリック。新しいシークレットを作成で下記を入力する。

Actions secrets and variables

Actions secrets and variables

MEMO
名前: GH_PAT
値: 作成した PAT(コピーした秘密鍵)

stefanzweifel/git-auto-commit-action の設定を修正。keymap-drawer.yaml ファイルの該当部分を以下のように変更。

# Draw keymap diagrams using keymap-drawer ZMK user config workflow
name: Draw ZMK keymaps
on:
  workflow_dispatch:
  push:
    paths:
      - 'config/*.keymap'
      - 'config/includes/*.dtsi'
      - keymap-drawer/config.yaml
      - .github/workflows/draw-keymaps.yml

jobs:
  draw:
    uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main
    with:
      keymap_patterns: 'config/*.keymap'
      config_path: keymap-drawer/config.yaml
      output_folder: keymap-drawer
      install_branch: main
      amend_commit: true
      draw_args: "ergonaut_one:'-k corne_rotated -l LAYOUT_split_3x6_3'"
      json_path: keymap-drawer/layouts
      token: ${{ secrets.GH_PAT }} # ここを追加

上記のdraw/drawとなり失敗するエラーの解決方法はchatgptで調べて試したやり方なので正しいか分かりませんが掲載しておきます。

Keymap Editorでファームウェアを生成

Keymap Editorでファームウェアを生成

ちょっと苦労しましたが無事にキーマップを変更できてファームウェアを生成することができました。

ZMK Studioでのキーマップ変更

ZMK Studio用ファームウェア

ZMK Studio用ファームウェア

また、生成されたファイルに入っているstudio.uf2を書き込むことでZMK Studioを使うこともできました。使用方法はZMK Studioからzmk-studio_0.2.4_x64-setup.exeをダウンロードしインストールして起動。

ZMK Studioでデバイスを繋ぐ

ZMK Studioでデバイスを繋ぐ

studio.uf2を左右それぞれのファームウェアを入れZMK Studioで接続先を選択する。

ZMK Studio

ZMK Studio

アンロックキーを押すとZMK Studioのキーマップ編集画面に遷移する。好みのキーマップに変更したら右上の保存マークをクリックするとリアルタイムで無線接続のままでキーマップが書き換えられる。

きりぽん

ZMK Studioでは簡易的なキーマップの変更しかできないみたいだが、自分にあったキーマップが決まるまで頻繁に変更したいっていう場合はかなり便利そう。

使用感とレビュー

Ergonaut One

良かったところ

  • 費用対効果の高さ
    比較的低コストで無線キーボードが手に入りました。
  • 快適な寝室作業環境
    寝室でデスクと似た環境で作業できることが非常に便利です。
  • カスタマイズ性
    ファームウェアの変更やマクロの設定が可能で、作業効率が向上しました。

微妙だったところ

  • 電源スイッチの押しにくさ
    XIAOBLEのリセットスイッチが小さく、頻繁にオンオフは面倒に感じます。
    リセットボタンがケースで隠れるため、ファームウェアを書き換える際にバラす手間があります。
  • ファームウェアの書き込みの手間
    初めての書き込みに時間がかかり、少し敷居の高さを感じました。
  • 打鍵音の好み
    Cowberryは少し底打ち時の金属音が気になり打鍵音はあまり好みではなかった。今後は他のスイッチも試してみたいです。

その他の検証と考察

電池持ち

使用したバッテリー: 260 mAhのリポバッテリー
現在のところ、詳細な持続時間は未検証ですが、理論上の消費電力から計算すると数日間の使用には十分だと推測されます。

技適の確認

使用したMCU: Seeed XIAO BLE nRF52840
技適的には問題なさそうです。アリエクスプレスで購入したものにも技適マークが付いているように見えましたが、確実性を求めてマルツオンラインで購入しました。

今後の期待

カスタマイズ性の向上: ロープロファイルのスイッチやキーキャップの種類が増えることで、さらなるカスタマイズ性や快適性が期待できます。

まとめ

Ergonaut One
今回のErgonaut Oneの組み立ては、自作キーボードの楽しさを再確認する良い機会となりました。特に、寝室で快適にPC操作ができるようになった点は大きなメリットです。

Ergonaut One
また他のキーボードと比較してみるとかなり薄いのも分かる。この薄さはラップトップを普段遣いしている方には嬉しいと思った。

一方で、以下のようなデメリットも感じました:

  • 電源スイッチの使い勝手が悪い
  • ファームウェアの書き換えに手間がかかる

しかし、ZMK Studioというリマップソフトが対応しており、使ってみるとかなり便利であった。またQMKでいうBootmagicのような機能もありそうなので試してみようと思う。


maczmk

maczmk

実際にZMK studioを使ってみるとWindowsではUIの表示がある程度見やすくなっていたのですが。Macではスイッチの枠が表示されない仕様になっていたのでmacroやBluetoothの切り替え機能のみ割り当てるレイヤーが使いにくかったかも。

最後に、この素晴らしいオープンソースプロジェクトを作成された方々に心より感謝します。また、この記事や動画をご覧いただいた皆さん、本当にありがとうございます!

参考

IntroductionErgonaut Keyboards

参考

oneGitHub

きりぽん

気が向いたらまたブログやYouTubeを更新しようと思ってますので次回もぜひ見に来てください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です