左右対称です
本製品についての情報はこちらをご覧ください。
https://www.elekit.co.jp/product/TH-601
組み立て前に、部品が揃っているか確認しましょう。
足りない部品があればこちらからお問い合わせください。
初期不良・部品不足のお問い合わせフォーム

左右対称です

左右対称です

同じものが2枚入っています。片方をひっくり返して使います。

コンスルーはんだ付け済みです。

コネクタや基板は組み立て済みです。玉も付属します。

コネクタ配線済みです。

トラックパッドを支え固定する部品です。

ケース下部です。

ケース下部です。

ケース上部です。

ケース上部です。

左右対称で2つあります。

つまみです。2個あります。

モジュールの代わりに使えます。

2個あります。

ねじこみやすい特殊なタッピングねじです。30本あります。

8枚あります。
一部の部品はエレキットストアでも取り扱っております。
| 品目 | 数量 | 備考 |
|---|---|---|
| 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
※本セクションの写真は試作品を使用しているため、基板の色やピンの種類が製品とは異なります。

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

端の1ピンのみをはんだ付けします。
この時点で隙間を確認し、もし基板同士の隙間が空いていたら、
指でXiao nRF52840 Plusを軽く抑えながらはんだを温め直し、基板を密着させてください。

隙間が空いていると、あとのはんだ付けが難しくなったり、ケースが閉められなくなったりします。
必ず丁寧に確認し、作業してください。
緑の丸をつけたピンを全てはんだ付けします。
片側7箇所、合計14箇所です。

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


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

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

・隣りあう赤と白の四角同士がショートしていないか?
・カラフルなラインで繋いでいる両端が導通しているか?
・BAT+は、背面のBAT+と導通しているか?GNDとショートしていないか?
この3点を確認してください。
右手と左手の分を、左右対称で作ります。
配線基板とトップパネルを重ね、キースイッチを取り付けます。
端からつけていくのがおすすめです。


キースイッチをすべて取り付けたら、キーキャップもつけましょう。
※キーキャップの取り付けは後回しにできます。後からゆっくり好きな印字を考えて取り付けるのもいいと思います。
コンスルーのピンを曲げないように気をつけて、マイコンを取り付けます。
取り付け後、配線基板とコンスルーの隙間が空いてないか確認しましょう。


ノブを取り付けます。
取り付け向きがありますので、裏側の形状を合わせてください。
最初はちょっと入れづらい場合がありますが、恐れず押し込んでください。
※力を加える時は、基板の裏側から基板越しにエンコーダを指で支えてください。
無理に力を加えるとパーツが破損する可能性があります。
ベースキットには以下3種類のモジュールが同梱されています。

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

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

トラックパッドやトラックボールを使用したくないときに取り付けます。
左右どちらにどのモジュールをつけるか、自由に選べます。
好きなものを選んでください。
トラックパッドについては、モジュール本体とフレームを組み立てる必要があります。
手順1 ケーブルを通します
手順2 フレームにモジュールを差し込みます
フレームの出っ張っている枠の中に、トラックパッドモジュールを差し込みます。

手順3 位置を合わせて重ねます
トラックパッドモジュールの切り欠きと、フレームの突起が嵌るように位置を調整して押し込んでください。
トラックボールモジュールのコードは1本だけ短いです。
右手、左手の取付時に通す隙間が異なりますので、写真で確認してください。
取り付けはネジを3本使用します。
モジュールを基板の裏から当て、基板の上からネジで締めます。


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

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

モジュールのコネクタを基板裏側に差し込みます。
配線後、SELスイッチを切り替えます。
トラックパッドの場合→TP
トラックボールの場合→TB
バッテリーを取り付けます。
コネクタを差し込み、基板上に置いてください。
※バッテリーの表面が傷つかないように細心の注意を払ってください。
火事など重大な事故に繋がる恐れがありますので、
穴が空いたり、凹みができたバッテリーは使用しないでください。

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

本体ベースにはネジの土台が一つあります。
ケーブルを挟まないように気をつけてください。
取り付け後、本体ベースの底面にある9つのネジを締めます。

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

次はファームウェアを書き込んでいきます。
こちらのファイルをダウンロードし、展開してください。
※ファームウェアを自分で触りたい、改造したい方へ
ソースコードはgithubにて公開しています。
https://github.com/elekit-official/unified-zmk-config-template
本ページ最下部にてファームウェア改造についての情報もまとめています。
右側(R)キーボードとパソコンをUSBケーブルで接続します。
Xiao nRF52840 Plusの上部にあるリセットボタンを素早く2回押します。

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

トラックボールモジュールを接続したなら sosho_R_trackball.uf2
トラックパッドモジュールを接続したなら sosho_R_trackpad.uf2
ブランクモジュールの場合 sosho_R_trackpad.uf2
書き込みが完了すると、LEDが順番に2種類点灯します。
[バッテリー状態]
バッテリー残量にあわせて緑・黄・赤のいずれか。
[ペアリングの状態]
青 ペアリング完了
黄 ペアリング待機中
赤 ペアリングできていない
詳しい情報はこちらのリポジトリを参照してください。
https://github.com/caksoylar/zmk-rgbled-widget
書き込みが完了したら、そのまま触らないようにしてください。
※このあとのペアリングに差し障るので、今はケーブルを抜く、電源を切る、リセットするなど一切の操作をしてはいけません。
右側と同じく、キーボードとパソコンを接続し、リセットを2連打し、ドライブをマウントしてください。
同様にファームウェアを書き込みます。
トラックボールモジュールを接続したなら sosho_L_trackball.uf2
トラックパッドモジュールを接続したなら sosho_L_trackpad.uf2
ブランクモジュールの場合 sosho_L_trackpad.uf2
書き込みが完了すると、LEDが点灯します。
この時点でキーボードの左右がペアリングされ、青いLEDが点灯します。
今はUSB接続しているので、パソコンとのペアリングを設定しなくても動きます。
メモ帳などのアプリを開き、キーボードのスイッチを押してみましょう。
本キーボードは自分でキーマップをカスタマイズして使っていただくことを想定していますが、
取り急ぎ使用いただけるようにデフォルトのキーマップを設定してあります。
標準状態のキーマップです。
&moを3箇所設定してあります。

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

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

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

マウス操作
コンボ(同時押し)を設定してあります。
50ms以内に同時押しすると、それぞれマウスボタンが送信されます。
JとK マウス左クリック
JとL マウス右クリック
JとL マウスホイールクリック
マウスカーソル
トラックボールやトラックパッドモジュールを取り付けている場合、マウスカーソルが動きます。
ロータリーエンコーダ
左手側 左右スクロール
右手側 上下スクロール
&mscを割り当てていますので、スクロールが送信されます。
一通りの入力ができることを確認したら、動作チェックは完了です。
動作チェックが終わったら、USBケーブルを抜き、電源スイッチをOFFにしてください。
左右ともマイコンカバーを取り付け、マイコンカバーのねじを2箇所ずつ締めます。

zmk.studioを使用して、キーの機能を変えてみましょう。
https://zmk.studio/を開きます。
USBボタンを押し、soshoを選んでください。
接続が完了すると、この画面が出てきます。

まず変更したいキーを選び
割り当てたいキーを選び
設定が終わったら、右上の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
という説明だけでは全くわからない方向けに、簡単に解説します。
上記のリポジトリをフォーク(fork)して、ファイルを編集していきます。
まずはgithubの使い方を調べて、フォークしてみましょう。
このファームウェアは、リポジトリ上のファイルを書き換えると自動的にGitHub Actionsが走り、ファームウェアがビルドされます。
ビルドが成功するとzipファイルがダウンロードできるようになります。

ビルド時にエラーが出るとメッセージが表示されますので、原因を調べてみましょう。
エラーはログを自分で読んだり、AIにチェックしてもらって解消しましょう。
(AIの提案は参考程度に聞いてください。古い情報や存在しない情報を提示されることも多いです。)
基本的に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>; */
};
スクロールの割当をはじめ、様々な機能が使えるのでぜひチャレンジしてみてください。