
"Ambitent(アンビテント)"は中央にテンキー、それを山の頂にしてハの字にテンティングした立体形状となっている自作キーボードです。
モディファイアキーがない30キーの配列となっているため中央にテンキーがありながらもコンパクトなサイズ感となっています。QMKファームウェアで動作し、LEDによるライティングやインジケータを楽しめ、ロータリーエンコーダーも搭載し、エンコーダーでは中央のキーの役割を切り替える機能を搭載しています。名前の由来は「Ambidextrous(両手利き)」+「Tenting(テンティング)」の造語で「Ambitent」にしました。
ケースは3Dプリントのインテグレーテッドマウントケースで、マグネットでによりケースの上下を着脱します。
本記事はビルドガイド&仕様ガイド(&最後に少し設計に関するブログ記事)として、前半に組み立て手順、後半に仕様を記載しています。Ambitentの仕様だけ知りたいという方は、仕様編をご参照ください。
更新履歴
2024/5/12 初版公開
2024/6/6 【ビルドガイド編】のロータリーエンコーダーのはんだづけ、コネクタ接続について追記。【仕様編】レイヤ自動切り戻しの仕様を追記。NumLock状態判定なしファームウェアについて追記。
【ビルドガイド編】
組み立ての前に
- はんだごてを使用して制作します。はんだごての小手先は高温になり、やけどや火事の原因になりかねませんので取り扱いにはくれぐれもご注意ください。
- 作成の前に、当ビルドガイドに一通り目を通していただき、必要な物が充足しているかや作業順序についてお確かめください。
- 作成には数時間程度かかりますので時間に余裕をもってお取り掛かりください。
ご用意いただくもの
ご用意いただく必要があるものは、①BOOTHで頒布しているキット、②別途ご用意いただく部品、③はんだごてなどの組み立て工具です。それぞれBOOTHの販売ページに記載しておりますのでご確認ください。
またBOOTHにも記載しておりますが、別途ケースを作成(調達)する必要があります。ケースの3Dモデルは、こちらから無料でダウンロードできます。
以下の写真のキーボードは、JLCPCBでケースを制作し、スプレー塗装(※LED用パーツは塗装なし)したものになります(黒・白両方マテリアルは同じです)。


- トップケース:9000R Resin(Natural White)
- ボトムケース:9000R Resin(Natural White)
- LED用パーツ:9000R Resin(Natural White)
- エンコーダーノブ:9000R Resin(Natural White)
※ケースのマテリアルはお好みで選択いただいて問題ありませんが、LED用パーツは9000R Resin(Natural White)を推奨します。
参考までに、作者がJLCPCBへ依頼したときはトップケースが$21、ボトムケースが$17、LEDユニットが$0.3、ノブは$0.3くらいでした。
組み立て
組み立ては、以下の手順で行うことを推奨いたします。順序を間違えるとリカバリーが難しい場合がありますので、組み立て前に一通り手順をご確認ください。
※以下のはんだ付け工程のすべてで、溶接・溶着を円滑にしてくれるプリント基板用フラックスなどを使用するとはんだがのりやすいためお勧めです
①ファームウェアの書き込み
作者のGithubへアクセスし、Vial対応のファームウェア(uf2ファイル)をダウンロードします。
- 通常:cerbekos_ambitent_vial.uf2
- NumLockインジケータなし(Mac OS):(no_numlock_indicator)cerbekos_ambitent_vial.uf2
ファイルをダウンロード後、RP2040-Zeroの”BOOT”ボタンを押しながらUSBを接続します。するとブートモードとなりRP2040-Zeroのドライブが表示されます。ここへダウンロードしたuf2ファイルをコピー(ドラッグ&ドロップ)します。すると自動的にリブートされ、ファームウェアが書き込まれます。


ファームウェアの書き込みは以上で終了です。
②RP2040-Zeroの取り付け
RP2040-Zeroをメイン基板にはんだ付けします。メイン基板はこちらの写真の基板です。

メイン基板の上のほうにある表面実装のパッドを使用してRP2040-Zeroをはんだ付けします。先に出来上がりイメージの写真を貼り付けます。

基板を表面(I ♡ Tenkeyがあるほう)にし、RP2040-Zeroを画像の向きでのせます。向きを間違えないように注意してください。

パッドの位置を合わせた後、マスキングテープで固定します。


フラックスを塗り、パッド部分をはんだ付けします。数か所はんだ付けが終わればマスキングテープを取り、すべての箇所をはんだ付けします。裏面は、はんだ付けする必要はありません。

③LEDの取り付け
Ambitentは、メイン基板の中央に、バックライト兼インジケータ用のLEDを取り付けることができます。LEDには取り付ける向きがあり、本キーボードで使用する”SK6812MINI-E”では、その向きを判別するため”GND"にナナメの切り込みが入っています。

このナナメがどこに位置しているかによって正しい向きかどうかを判断します。またLEDの接続の仕組みとしてシリアル接続となっています。”4 DIN”(データイン)からLEDの信号を受け取り、"2 DOUT"(データアウト)へ信号を渡しています。つまり、どこか1か所で接続が不通になると、以降のLEDは光らないという状態となります。
バックライトとして使用しますので、LEDを基板の裏面から取り付けます。基板の裏面からLEDの取り付け箇所を見るとGNDに目印となる白枠があります。LEDの正しい向きは次の写真のとおりです。

LEDを基板に載せフラックスを塗り、端子4か所をはんだ付けします。LEDは高温に弱いため、260度程度で、1か所ずつはんだ付けしては少し時間を空けると良いです。

1か所はんだ付けが終わるごとに、RP2040-ZeroへUSBを接続し、LEDの点灯状況を確かめると早くに異常が検知できていいかもしれません。
18個のLEDがはんだ付けでき、LEDが点灯すればこの工程は終了です。


④ダイオードの取り付け
表面実装タイプのダイオードを基板に取り付けます。ダイオードにも向きがあります。以下、違う基板の写真になりますが解説のため引用します。

ダイオードは小さく、ピンセットでつまみながら取り付けることになります。取り付け操作しやすいよう片側に予備はんだを行います。

ダイオードの向きに注意してピンセットでつまみながら、予備はんだをはんだごてで温め、スライドするようにダイオードをはんだづけします。

反対側をはんだ付けしてダイオードの取り付け完了です。

この要領で、メイン基板、上基板、左基板、右基板のすべてのダイオードをはんだ付けします。


⑤ホットスワップソケットの取り付け
ホットスワップソケットの正しい向きは、写真のような白い線が隠れるような向きとなります。

ホットスワップソケットも予備はんだをしておく方がはんだ付けしやすいです。

ソケットを正しい向きで乗せ、ピンセットで押さえながら、予備はんだを温めます。ソケットがストンと穴にはまるまで行います。

反対側もはんだ付けして完了です。

ホットスワップソケットも、メイン基板、上基板、左基板、右基板に装着箇所がありますのですべてのソケットをはんだ付けします。


ホットスワップソケットははんだのつけ忘れが多いので、つけ忘れがないかをよく確認しましょう。
⑥Groveコネクタの取り付け
メイン基板と上左右基板を接続するGroveコネクタを基板にはんだ付けします。
メイン基板は次の写真の位置にある6か所です。Groveコネクタをメイン基板の表面から写真の向きで差し込みます。

6つとも差し込みます。

マスキングテープで固定します。

基板をひっくり返して裏面からはんだ付けします。

同様の手順で上左右の基板にもGroveコネクタをはんだ付けします。

⑦ロータリーエンコーダーのはんだづけ
メイン基板の表面からロータリーエンコーダーを差し込みます。

メイン基板の裏面からピンと固定用の金具をはんだ付けします。

⑧動作確認
動作確認のためGroveコネクタ用ケーブルを接続します。写真のように向きに合わせて差し込みます。少し力が要ります。
Groveコネクタ用ケーブルは、以下のコネクタどうしを接続してください。
- JRA1=JRA2
- JRB1=JRB2
- JRC1=JRC2
- JLA1=JLA2
- JLB1=JLB2
- JLC1=JLC2

カチッとなるまで差し込みます。

逆にケーブルを抜く場合は、Groveコネクタのツメを上げて引き抜きます。
各基板をGroveコネクタ用ケーブルで接続後、RP2040-ZeroへUSBケーブルを差し込み動作を確認します。
<LEDの確認>
ファームウェアを書き込んだ初期の時点では、LEDは赤色に点灯します。もしLEDが点灯しない場合、下記について順に確認してみてください。
- はんだの量が足りていない、または多すぎて隣と接合している → はんだごてやはんだ吸い取り線を使いはんだの量を調整してください。
- LEDの取り付け向きが誤っている。 → はんだ吸い取り線を使い、慎重にはんだを除去してから向きを正しく取り付け直し、はんだ付けしてください
<キースイッチの確認>
現状はキースイッチを取り付けていないため、ピンセットでホットスワップソケットの両端を導通させて文字が表示されるかを確認します。※ただしピンセットで反応がない場合でもキースイッチを差し込むとうまくいっている場合がありますので、ピンセットがだめならスイッチをつけて動作確認してみてください。
反応しない場合、下記について順に確認してみてください。
- ダイオードやホットスワップソケットのはんだづけがうまくできていない → はんだを少し足して(はんだづけして)動作確認してみてください
- ダイオードの向きが反対 → ダイオードのはんだをはんだ吸い取り線で除去し、予備のダイオードを正しい向きに取り付け、はんだ付けしてください
⑨ケースへの取り付け
ケースはトップケース、ボトムケース、LED用パーツの3つに分かれています。ケースに塗装する場合は、取り付けの前に行ってください。ただしLED用パーツは塗装すると光を透過しなくなってしまいますので塗装しないようにしましょう。

トップケースとボトムケースにマグネットを取り付けます。磁力方向を間違えないように一つにまとめておきます。

トップケースの四隅へ接着剤を数滴たらし、マグネットを差し込みます。

ボトムケースの四隅へ接着剤を数滴たらし、マグネットを差し込みます。

トップケース裏面よりへ上部基板を乗せ、表面よりキースイッチを差し込み固定します。(以降の写真では基板にマスキングテープを貼るModをしています。お好みでどうぞ)


同様の手順で左右基板を取り付けます。


トップケース裏面でGroveコネクタ用ケーブルを整理し、メイン基板の順序と合わせます。

メイン基板のGroveコネクタとケーブルを接続します。接続後、トップケース表面からキースイッチを差し込み固定します。


ボトムケースを取り付けます。


最後にキーキャップを取り付けて完成です。※使用する前に3.仕様を一通りご確認ください。(特に②キーマップに記載している”Ignore Mod Tap Interrupt”のチェックを入れてからご使用ください)

【仕様編】
仕様
①レイアウト
Ambitentのキーレイアウトはカラムスッガードがベースですが、写真のように曲線となるようわずかに角度をつけています。傾きはそれぞれ赤色が5度、水色が7度、青色が9度、黄色が3度、緑色が1度です。指の動きに合わせた傾きにより入力がしやすくする狙いがあります。

また3Dプリントによる立体形状とすることで、手が傾き、親指のキーが低い位置にあるため押しやすい構造となっています。

②キーマップ
デフォルトキーマップは次のようになっています。特徴的なのは、デフォルトレイヤーでの中央テンキー部分のキーアサインと、ロータリーエンコーダーによるレイヤー4,5の切り替えです。
レイヤー0(デフォルトレイヤー)

レイヤー1(数字・記号)

レイヤー2(バックライト設定)

レイヤー3(移動キー)

レイヤー4(マウス操作)

レイヤー5(テンキー)

中央テンキーを45度に配置しているため、両手からアクセスがしやすいのが本キーボードの特徴です。そのためロータリーエンコーダーにはレイヤー切り替えキーをアサインし、親指で簡単にマウス操作やテンキーに切り替えることができるようになっています。

またレイヤー4及び5は、アルファベットキーを入力すると自動的にデフォルトレイヤーへ切り替わるようになっています。
もちろんVialに対応していますので、TapDanceやCombo含め、自由にキーマップを変更することができます。

※QMK Settingの”Ignore Mod Tap Interrupt”はチェックは入れることを推奨します。(これを設定することで「Zキー長押し」に設定しているShiftが誤検知される割合が低くなるためです。(ソースコードでも定義はしているのですがVialで作成したファームウェアではクリアされるようです)
設定は、QMK Settings>Tap-Holdにあります。

その他の設定はお好みで設定してください。
③TapDance
タップダンスは、一定時間内のタップ(キー押下)数により出力するキーコードを変える機能です。物理的な1つのキーに対し複数のキーを割り当てることができます。
Ambitentではデフォルトで以下のタップダンスを登録しています。
| キーコード | 1回タップ | 1回長押し | 2回タップ | 2回長押し |
| TD(0) | KC_Q | KC_LCTL | KC_ESC | KC_Q |
| TD(1) | KC_COMM | KC_RCTL | KC_SCLN | KC_SCLN |
| TD(2) | KC_DOT | KC_RALT | KC_COLN | KC_COLN |
| TD(3) | KC_DOT | MO(1) | KC_COLN | KC_COLN |
| TD(4) | KC_PLUS | MO(2) | KC_PAST | KC_PAST |
| TD(5) | KC_PMNS | MO(3) | KC_PSLS | KC_PSLS |
タップダンスについてのより詳細な挙動や仕様については、QMKドキュメントをご参照ください。
④CAPS_WORD
起動すると特定の文字が入力されるまでCAPSLOCKを働かせる機能です。左右シフトキーの同時押しで起動させることができます。スペースやEnterを押すか、何も押さないで10秒経過すると解除されます。
⑤レイヤーインジケータ
レイヤーオン、CapsLock、非NumLock状態のとき、一部のキーバックライトがカッコの中の色に変わります。
- Layer1(赤)
- Layer2(青)
- Layer3(緑)
- Layer4(シアン)
- Layer5(オレンジ)
- CapsLock/CapsWord(黄)
- 非NumLock(マゼンタ)
⑥RGB バックライト
RGB Lighting機能によるバックライトです。中央に配置しているLEDにより様々なアニメーションを点灯させることができます。

- RGB_TOG:エフェクトをオン/オフ
- RGB_MOD/RMOD:エフェクトを次へ/ひとつ前へ
- RGB_HUI/HUD:色相を増加/減少
これらのキーは、デフォルトキーマップではレイヤー2にアサインしています。
⑦ソース
AmbitentのVial対応ファームウェアのソースはこちらで公開しています。
【番外編】
設計について
番外編として、Ambitentの設計に関してちょっと長めに語っていきます。
まずはレイアウトについて。これはぴろりどんさんの「willow配列から着想された人差し指側と小指側で異なる曲線を描く物理配列(今年設計したキーボードを振り返る(2023) - ぴろりのくせになまいきだ。)」を参考にさせていただきました。僅かな角度ですが、実際に使ってみるとたしかに打ちやすくと感じます。

次にケースについて。Ambitentのようなテンキーを頂上としたテンティングの立体形状はずっと構想としてあったのですが、3Dプリントが手軽に出来るようになったり、私自身のケース設計の技術が向上したりして環境面が整ったことで、ついに念願叶って設計できたという感じです。今回はケースの試作をたくさん繰り返しました。

バットマンみたいなケースはお気に入りだったのですが、一度PCB含めて内部構造を見直しした際に中央上部のデザイン変更が必要となり、これ以上このデザインを追求しても洗練できないなぁという考えに至り断念してしまいました。


一方の四角いシンプルなケースは、はじめはアルミ削り出しケースに挑戦するためのケースとして設計をスタートしました。途中、複雑すぎて加工を断られたり、背面にウェイトをつけたりして、試作を繰り返しました。


最終的には、ウェイトを取りやめ、マグネットによるねじレス化をしてロゴを入れるという形で現在のケースに至ります。

背面ロゴはTenalice-ambidextrousの系譜を受け継いでいるような感じがして個人的お気に入りです。Tenalice-ambidextrousは私が一番初めに頒布した思い出深いキーボードです。


振り返ってみると、Tenalice-ambidextrousから始まった45度に傾いた中央テンキーは、Cerbekosとしてのアイデンティティでした。”Ambi配列”なんてネーミングし、Ambi-MINIやAmbi-GLなど派生したキーボードも設計しました。


またコンパクトが主流の自作キーボード界隈では珍しいテンキーも、BROOKTENやTenalice-minibreaksでは磁気ポゴピンを用いてキーボードを設計しました。


たくさんキーボードやケースを設計して使い込み、そうしたなかで自身の趣味嗜好が移り変わるのを感じながら、自作キーボード界隈から知見やヒントを得て、最終的に今回の”Ambitent”に帰結していきました。
Ambitentは見た目、操作性、機能性のどれをとっても申し分なく、私のエンドゲームキーボードです。

おわりに
Ambitentの中央部分はテンキーだけでなく使い方は様々です。アプリケーションでよく使うショートカットキーを割り当てたり、右手でマウスを操作中に左手だけで文字入力できるようにComboを作ってみたり、いろいろなアイデアで自分好みのキーボードに仕立てることができますので、ぜひあなただけの最高の一台に仕上げていただき、楽しんでご使用いただけますと幸いです。
最後に、気が向いた方は完成した"Ambitent"をTwiiterで見せていただけると、作者として大変うれしく思います。(ハッシュタグは#Ambitentでお願いします)
それでは、良いキーボードライフを。
