ELEKIT

双掌ビルドガイド

本製品についての情報はこちらをご覧ください。
https://www.elekit.co.jp/product/TH-601

内容物の確認

組み立て前に、部品が揃っているか確認しましょう。
足りない部品があればこちらからお問い合わせください。
初期不良・部品不足のお問い合わせフォーム

拡大画像

別途必要な部品

一部の部品はエレキットストアでも取り扱っております。

品目数量備考
Xiao nRF52840 Plus 2 エレキットストア、遊舎工房、SwitchScienceなどで購入ください。販売ページ
キースイッチ 44 Kailh choc v2規格のものをご用意ください。販売ページ
キーキャップ 44 縦横18mm以下のロープロファイル対応品をご用意ください。すべて1Uで44個必要です。
販売ページ(黒) (白)
USBケーブル 2

Type-C対応、データ通信ができるものを2本用意します。

その他必要なもの

プラスドライバー#1 なめやすいため、確実に締結できるものが望ましいです。
洗濯バサミやマスキングテープ BLE用アダプタ基板をはんだ付けするときに便利です。
はんだごて なるべく先の細い、20-30W程度のものか、温度調整可能なものがいいです。
はんだ線 直径0.8mmくらいが作業しやすい。鉛入り推奨です。
はんだごて台 専用品がおすすめです。
テスター 導通とショートをチェックするために、使用を推奨します。
1000円程度のもので充分。

基板のはんだ付け

BLEアダプタ基板とXiao nrf52840 Plusの組み立て

おしらせ

同じものをふたつ作ります。

用意するもの

BLE用アダプタ基板Xiao nRF52840 Plus

※本セクションの写真は試作品を使用しているため、基板の色やピンの種類が製品とは異なります。

202603111549226f1d.png

手順1 基板を重ねる

202603111553545d15.png重ねる位置は写真を参考にしてください。

上下の基板がピッタリ密着することを確認してください。
このあとの作業でも隙間が空かないように気をつけましょう。

20260311155457d051.png

手順2 端っこをはんだ付け

端の1ピンのみをはんだ付けします。

2026031115570526a0.pngこの時点で隙間を確認し、もし基板同士の隙間が空いていたら、
指でXiao nRF52840 Plusを軽く抑えながらはんだを温め直し、基板を密着させてください。

20260311160021288d.png

隙間が空いていると、あとのはんだ付けが難しくなったり、ケースが閉められなくなったりします。
必ず丁寧に確認し、作業してください。

手順3 残りのピンもはんだ付けします

緑の丸をつけたピンを全てはんだ付けします。
片側7箇所、合計14箇所です。

20260311160433ec1e.png

手順4 側面をはんだ付けしましょう

ピンクのラインは側面にはんだが乗るようになっています。
上下の基板を渡るようにはんだ付けします。

202603111606328060.png

202603111608069533.png

こちらは6箇所

202603111608467c87.pngこちらは3箇所はんだ付けします。

手順5 裏側をはんだ付けしましょう

裏面のBAT端子をはんだ付けします。
Xiao nRF52840 Plusの平面と、BLE用アダプタ基板の側面をはんだでつなぎます。

20260311160951776a.png

チェックポイント

正しくはんだ付けできたか確認します。
目視では分かりづらいので、テスターを使ってチェックしましょう。

20260311161215ebd8.png

202603131013448391.jpg・隣りあう赤と白の四角同士がショートしていないか?

・カラフルなラインで繋いでいる両端が導通しているか?

・BAT+は、背面のBAT+と導通しているか?GNDとショートしていないか?

この3点を確認してください。

キーボードの組み立て

おしらせ

右手と左手の分を、左右対称で作ります。

キースイッチ、キーキャップの取り付け

配線基板とトップパネルを重ね、キースイッチを取り付けます。
端からつけていくのがおすすめです。

202603171346217df2.jpg202603171347092098.jpg

キースイッチをすべて取り付けたら、キーキャップもつけましょう。
※キーキャップの取り付けは後回しにできます。後からゆっくり好きな印字を考えて取り付けるのもいいと思います。

マイコンボードの取り付け

20260317134853c9c1.jpgコンスルーのピンを曲げないように気をつけて、マイコンを取り付けます。
取り付け後、配線基板とコンスルーの隙間が空いてないか確認しましょう。

20260317134946b1aa.jpg

エンコーダ ノブの取り付け

202603171347425648.jpg

ノブを取り付けます。
取り付け向きがありますので、裏側の形状を合わせてください。
最初はちょっと入れづらい場合がありますが、恐れず押し込んでください。

※力を加える時は、基板の裏側から基板越しにエンコーダを指で支えてください。
無理に力を加えるとパーツが破損する可能性があります。

モジュールの取り付け

ベースキットには以下3種類のモジュールが同梱されています。

トラックパッドモジュール

トラックパッドモジュール

モジュール基板とフレームを組み立てて使用します。

トラックボールモジュール

トラックボールモジュール

モジュール本体のほか、トラックボールの玉が付属します。玉は最後に取り付けるのがおすすめです。

ブランクモジュール

ブランクモジュール

トラックパッドやトラックボールを使用したくないときに取り付けます。

左右どちらにどのモジュールをつけるか、自由に選べます。
好きなものを選んでください。

トラックパッドモジュールの組み立て

トラックパッドについては、モジュール本体とフレームを組み立てる必要があります。

手順1 ケーブルを通します

20260317170717b03a.jpg手順2 フレームにモジュールを差し込みます

フレームの出っ張っている枠の中に、トラックパッドモジュールを差し込みます。

202603171708000e3f.jpg

手順3 位置を合わせて重ねます202603171715026519.jpgトラックパッドモジュールの切り欠きと、フレームの突起が嵌るように位置を調整して押し込んでください。

トラックボールモジュールのコードの通し方

20260317172600ce15.jpgトラックボールモジュールのコードは1本だけ短いです。
右手、左手の取付時に通す隙間が異なりますので、写真で確認してください。

基板への取り付け作業

取り付けはネジを3本使用します。
モジュールを基板の裏から当て、基板の上からネジで締めます。

20260317171708df26.jpg

20260317135138cb18.jpg

※このネジは樹脂専用のタッピングネジです。
真上からまっすぐ力をかけて、ゆっくりねじ込んでください。
手応えが固すぎるときは、半回転ほど緩めて締め直します。
ネジを締めすぎるとパーツが割れたり、ネジ穴が緩くなります。

電源スイッチの確認

202603181029223a6b.jpg

左右とも、左側にスライドするとOFF、右側にスライドするとONです。
OFFにしておいてください。

モジュールの配線、スイッチの切り替え、バッテリーの取り付け

2026031713551167c9.jpg

モジュールのコネクタを基板裏側に差し込みます。

配線後、SELスイッチを切り替えます。
トラックパッドの場合→TP
トラックボールの場合→TB

バッテリーを取り付けます。
コネクタを差し込み、基板上に置いてください。

※バッテリーの表面が傷つかないように細心の注意を払ってください。
火事など重大な事故に繋がる恐れがありますので、
穴が空いたり、凹みができたバッテリーは使用しないでください。

ケースの組み立て

取り付け

20260317135813defb.jpg

まずは本体フレームを取り付けます。
BLEアダプタ基板のUSBコネクタをくぐるように差し込み、基板をはめてください。

組み立てたものを裏返し、本体ベースを取り付けます。

20260317140009a057.jpg

本体ベースにはネジの土台が一つあります。
ケーブルを挟まないように気をつけてください。

取り付け後、本体ベースの底面にある9つのネジを締めます。

20260317140153cf96.jpg

※製造の都合上、ネジ穴は糸状のフィラメントで塞がっています。
ネジを少し強く押し込んで突き破ってください。

組み立ては一旦ここまで。

202603171402453954.jpg

次はファームウェアを書き込んでいきます。

ファームウェアの書き込み

ファームウェアのダウンロード

双掌ファームウェア.zip

こちらのファイルをダウンロードし、展開してください。

※ファームウェアを自分で触りたい、改造したい方へ
ソースコードはgithubにて公開しています。
https://github.com/elekit-official/unified-zmk-config-template

本ページ最下部にてファームウェア改造についての情報もまとめています。

右側(R)の書き込み

右側(R)キーボードとパソコンをUSBケーブルで接続します。
Xiao nRF52840 Plusの上部にあるリセットボタンを素早く2回押します。

20260318100939d16e.jpg

USBメモリのように、XIAO-BOOTという名前のドライブがマウントされるので、
組み立てたモジュールに合わせたファームウェアを書き込みます。

202603181531550d9f.png

トラックボールモジュールを接続したなら sosho_R_trackball.uf2
トラックパッドモジュールを接続したなら sosho_R_trackpad.uf2
ブランクモジュールの場合 sosho_R_trackpad.uf2

書き込みが完了すると、LEDが順番に2種類点灯します。

点灯する内容と色は以下の通りです。

[バッテリー状態]
バッテリー残量にあわせて緑・黄・赤のいずれか。

[ペアリングの状態]
 ペアリング完了
 ペアリング待機中
 ペアリングできていない

詳しい情報はこちらのリポジトリを参照してください。
https://github.com/caksoylar/zmk-rgbled-widget

書き込みが完了したら、そのまま触らないようにしてください。
※このあとのペアリングに差し障るので、今はケーブルを抜く、電源を切る、リセットするなど一切の操作をしてはいけません。

左側(L)の書き込み

右側と同じく、キーボードとパソコンを接続し、リセットを2連打し、ドライブをマウントしてください。

同様にファームウェアを書き込みます。

トラックボールモジュールを接続したなら sosho_L_trackball.uf2
トラックパッドモジュールを接続したなら sosho_L_trackpad.uf2
ブランクモジュールの場合 sosho_L_trackpad.uf2

書き込みが完了すると、LEDが点灯します。
この時点でキーボードの左右がペアリングされ、青いLEDが点灯します。

今はUSB接続しているので、パソコンとのペアリングを設定しなくても動きます。
メモ帳などのアプリを開き、キーボードのスイッチを押してみましょう。

デフォルトのキーマップについて

本キーボードは自分でキーマップをカスタマイズして使っていただくことを想定していますが、
取り急ぎ使用いただけるようにデフォルトのキーマップを設定してあります。

レイヤー0

標準状態のキーマップです。
&moを3箇所設定してあります。

202603181724035b72.jpg

レイヤー1

数字と移動キーのレイヤーです。

202603181725130f3e.jpg

レイヤー2

Fキーと記号類のレイヤーです。

202603181726020d70.jpg

レイヤー3

ワイヤレスペアリングのレイヤーです。

202603181726376923.jpg

その他

マウス操作
コンボ(同時押し)を設定してあります。
50ms以内に同時押しすると、それぞれマウスボタンが送信されます。

JとK マウス左クリック
JとL マウス右クリック
JとL マウスホイールクリック

マウスカーソル
トラックボールやトラックパッドモジュールを取り付けている場合、マウスカーソルが動きます。

ロータリーエンコーダ
左手側 左右スクロール
右手側 上下スクロール
&mscを割り当てていますので、スクロールが送信されます。

一通りの入力ができることを確認したら、動作チェックは完了です。

最後の組み立て

マイコンカバーの取り付け

動作チェックが終わったら、USBケーブルを抜き、電源スイッチをOFFにしてください。

左右ともマイコンカバーを取り付け、マイコンカバーのねじを2箇所ずつ締めます。

完成

20260317170559df1a.jpg

キーのリマップ(割当変更)

zmk.studioを使用して、キーの機能を変えてみましょう。

zmk.studioへアクセス

https://zmk.studio/を開きます。

キーボードを接続

202603191646481b67.jpgUSBボタンを押し、soshoを選んでください。

2026031916480196a8.jpg接続が完了すると、この画面が出てきます。

2026031916484133f7.jpg

キーを選んで、割当を変更する

20260319164927f9db.jpgまず変更したいキーを選び

2026031916494833c5.jpg割り当てたいキーを選び

2026031916500820bc.jpg設定が終わったら、右上のSAVEを押します。

割り当てられるキーの種類や動作については、zmkのドキュメントを参照してください。
https://zmk.dev/docs/keymaps

想定される質問と回答

キーボードの左右が通信できていない

ZMK firmwareの仕様として、
Centralを起動して待ち受け状態にして、Periferalを起動することで正しく左右間のペアリングが行われます。
本キーボードは右がCentral、左がPeriferalです。

もし初回起動に失敗した場合、
まずは両手の電源を切り、右→左の順番で電源を入れてください。

それでも通信できない場合、同梱しているリセットファームウェア(settings_reset.uf2)を両手に書き込んでから
もう一度ファームウェアを書き込んでみてください。

【リセットファームウェアを書き込む手順】

左右ともUSBケーブルを繋いでおく。
左右ともリセットファームウェアを書き込む。
ファームウェアの書き込みの通りに書き込む。

パソコンやスマホと通信できていない

まずは電源の入れ直しです。
両手とも電源を切り、1分ほど待ってから右→左の順番で電源を入れます。

機器とのペアリングがおかしい気がする...と思ったときは、
前述のリセットファームウェアを焼くのが一番早いです。

また、ペアリングやBT設定のクリアといった設定を書き込む系の操作は
ZMK firmwareの仕様として、1分ごとにメモリに書き込まれます。

具体的な例を出すと、機器とペアリングしてすぐ電源を切った場合、ペアリング情報は保存されません。
何かメモリに書き込む系の操作をしたときは、1分以上置いてから電源を切るようにしてください。

両手ともトラックボールにしたい・トラックパッドにしたい

エレキットストアにて、モジュール単体を販売しています。
トラックボールモジュールセット
トラックパッドモジュールセット

こちらを購入し、組み込み(スイッチ切り替えを忘れずに)、ファームウェアを書き換えると使用可能です。

ファームウェアの書き換えはリセットボタンを2回押し、新しいもので上書きするだけです。
ご自身で設定されているキーマップは保持されます。
(リセットファームウェアを書き込むと初期化されます)

ケースを自分で出力したい

3MF形式のデータを用意しています。
こちらのリンクからダウンロードしてください。

データ利用に関する注意

使用するプリンタやフィラメント、動作環境の違いで製品と同等の品質にならない場合があります。
本データを使用して出力された部品について、弊社では一切サポートができません。

本データのダウンロードおよび利用によって生じた、PCや3Dプリンター等の機器故障、出力物の破損、怪我、その他一切の不利益について、当社は責任を負いかねます。

本データの二次配布、ならびに営利目的での利用は固くお断りいたします。
(有償の出力サービスへ出力を依頼することについては問題ありません。)

自分で深くカスタマイズしたいときの取っ掛かり

ソースコードはgithubにて公開しています。
https://github.com/elekit-official/unified-zmk-config-template

という説明だけでは全くわからない方向けに、簡単に解説します。

githubの使い方を調べましょう

上記のリポジトリをフォーク(fork)して、ファイルを編集していきます。
まずはgithubの使い方を調べて、フォークしてみましょう。

GitHub Actionsについて

このファームウェアは、リポジトリ上のファイルを書き換えると自動的にGitHub Actionsが走り、ファームウェアがビルドされます。

2026032613452867ef.pngビルドが成功するとzipファイルがダウンロードできるようになります。

2026032613480772bf.png

ビルド時にエラーが出るとメッセージが表示されますので、原因を調べてみましょう。

2026032613483054f6.pngエラーはログを自分で読んだり、AIにチェックしてもらって解消しましょう。
(AIの提案は参考程度に聞いてください。古い情報や存在しない情報を提示されることも多いです。)

ZMK firmwareについて

基本的にhttps://zmk.dev/docsを参考に改造することになります。
やりたいこと次第ですが、Customizing ZMKやKeymapsあたりを見るのが良いかも知れません。

本キーボードのファームウェアについてのメモ

出力されるファイル構成

4つのファイルを生成するようになっています。
右と左、トラックボールとトラックパッドの組み合わせです。
sosho_R_trackpad sosho_R_trackball sosho_L_trackpad sosho_L_trackball
confやoverlayファイルはこの表記に合わせて4種類存在します。

エンコーダのキーマップを変えたいとき

config/boards/shields/sosho/sosho.keymap
ここを直接触ります。

初期設定は以下の通りです。
80行目 sensor-bindings = <&msc_ec_l SCRL_LEFT SCRL_RIGHT &msc_ec_r SCRL_UP SCRL_DOWN>;

&kpを使用してキーコードを送信することもできます。
詳細はhttps://zmk.dev/docs/features/encodersを確認してください。

また類似する話題として、スクロール量を調整したい場合は、同じくkeymapファイルの先頭
1行目 #define ZMK_POINTING_DEFAULT_SCRL_VAL 150
この数値を変えてください。

起動時の処理

トラックボールICの起動処理の都合で、ファームウェア全体の起動を少し遅延するようにしています。
関連ファイルは以下2つです。
CMakeLists.txt
src/boot_delay_hack.c

トラックパッドしか使わない&素早く起動したい場合、この2つのファイルは消しても構いません。

トラックボールやトラックパッドの挙動を変えたいとき

input-processorsを設定します。
R側のoverlayファイルにサンプルをコメントでつけていますので、参考にしてください。

&glidepoint_split_listener {
status = "okay";
/* input-processors = <&zip_xy_scaler 2 1>; */
};

スクロールの割当をはじめ、様々な機能が使えるのでぜひチャレンジしてみてください。