JP-Knob16 — 写真から目を離さない、16ノブのコントローラー

JP-Knob16 の紹介サイト

スライダーを探すのが面倒

写真の現像です。
スライダーを探すのが、結構めんどくさいわけです。
マウスでカチカチやって、コロコロやって、どこにあるかなぁと探す。それが嫌でした。

X-Touch Miniのノブ

それで X-Touch Mini という製品を買ってみました。
ノブが8個付いていて、まわりの LED が光ります。

これが、使ってみると結構よかったんです。
見なくても現像できます。

ですが、8個では足りないことがわかりました。
16個付いているものは、なかなかありません。ないわけではないのですが、思ったような感じではないんです。

自分で作れるのでは

これは比較的簡単にできるんじゃないか、と思いました。
少し前に ESP32 を触っていたので、それを使えば全然できそうです。
今の時代、AI でモデリングもできるし、基板も作れるはずです。

画面に表示した完成イメージ図

設計は Claude Code でやっています。
画面に出ているのは完成イメージの正面図で、左にキーが10個、右に OLED 4枚とノブ16個が並びます。

JLCPCBの発注画面に出た基板の3Dプレビュー

基板は JLCPCB に発注します。
発注画面には、キーのソケットが並んだ赤い基板の3Dプレビューが出ています。
JLCPCB は知ってはいたのですが、一度も使ったことがありませんでした。

私は基板を設計できません。
ですが、Claude Code はできます。なので一回やってみます。

基板を待つ間に

3Dプリントしたケースの仮組み

ケースも Claude Code にデザインしてもらいました。
3Dプリントして、実際に組み立てられるかを試しています。
OLED の窓とノブの穴が開いた白いケースに、キーとノブを何本か差してみたところです。
基板はまだ届いていません。なので、部品が実装された状態の基板のモックアップも Claude Code に作ってもらい、それを3Dプリントして合わせています。

小さな試作ケースで光るOLED

基板がなくても、OLED だけなら試せます。
Temp、Tint、Expo、Contr と、現像のパラメータ名と値が出ています。
いい感じです。
まだノブは来ていないのですが、なくても画面が出ることは確認できました。

ケースに入ったロータリーエンコーダー16個

ロータリーエンコーダーが来ました。
透明なケースに、16個がぎっしり並んでいます。
私が並べました。整頓するのが好きです。

USBが2つ付いたESP32のボード

開発に使った ESP32 です。
デバッグ用に USB が2つあったほうがいいかと思って、これにしました。
実は買ったときには、micro-USB だと気づいていませんでした。USB-C がよかったんです。
それで、これはテストに使い、あとで USB-C のボードを買って入れ替えることにしました。
開発していくと、USB は1個でも十分なことがわかりました。本番は USB-C が1つの Waveshare のボードです。

3Dプリントのプレートに挿した赤軸スイッチ

キーボード自体を作ったことがないので、どう取りかかればいいのか最初はわかりませんでした。
とりあえず赤軸のメカニカルスイッチを買って、穴を開けたプレートに1個挿してみます。
茶軸とどちらにするか迷って、最終的には茶軸にしました。

スイッチを受けるケースとプレートの試作

やっているうちに、だんだんわかってきました。
スイッチを受けるケースと、上にかぶせるトップケースが要ります。
それをいくつか試作して、ねじで組み上げてみます。脇にはノブのキャップと、格子状のプレートが転がっています。
この時点では、本当に動くのかはまだよくわかっていません。

3Dプリントのキーキャップ

キーも作りました。
スイッチは MX のキーなんですが、キーキャップは私がデザインして3Dプリントしています。
脇には刷ったキャップの予備が転がっています。

基板が届く

届いた赤い基板

2週間くらいでしょうか。基板が届きました。
プチプチの上に、キーのソケットとチップが載った赤い基板が重なっています。

届いた基板3種類

キーの基板、ノブと OLED をつなぐ基板、ESP32 を載せるメインの基板。
マルチプレクサのようなチップは、JLCPCB で実装済みです。

すごいですね。
私は何もデザインしていないのに、バッチリ動きます。
簡単にテストしたところ、問題ありません。

ケースに収めた基板と虹色のケーブル

ロータリーエンコーダーや OLED をはんだ付けします。
ケーブルはちょっと適当に見繕ったので、それで接続します。
ケースの中に OLED の基板4枚とキーの基板が収まり、上を虹色のケーブルが渡っています。

配線のアップ

ここでは一旦、ピンで配線しています。
赤い基板の下に青い OLED の基板が重なり、そこへ色とりどりの線が何本も潜り込んでいます。

はんだ付けを待つOLEDの基板

最終的には、高さを低くするためにケーブルをはんだ付けにします。
OLED の基板を万力に挟んで、作業台に固定しました。
この万力も3Dプリントしたものです。

裏蓋に付けたESP32の基板

裏蓋には ESP32 を載せた基板を留めて、ケーブルは直接はんだ付けしました。
蓋を開けると、裏蓋の ESP32 と中の基板が、ケーブルでひとつながりになっています。

できました

分割ケースのまま動いたJP-Knob16

動きました。
画面が出て、ノブを回すと Lightroom のパラメータが動きます。

ただ、ケースがちょっと大きいんです。
私の A1 mini ではサイズオーバーなので、分割して印刷し、ねじでくっつけていました。
これがどうも気に入りません。

Bambu Lab A2Lの箱

なので、大きいプリンターを買いました。A2L です。
「MAKE ANYTHING AT HOME」と書かれた箱の上に、部品を仕分けたケースが積み上がっています。

完成したJP-Knob16を真上から

トップケースが一発で刷れるようになりました。
ものすごくかっこいいです。しびれますね。
露光量、コントラスト、ハイライト、シャドウ。OLED の値の真下に、ノブが4本ずつ並んでいます。

斜めから見たJP-Knob16

めちゃくちゃ便利です。
感動的です。
8個では足りなかったノブが、16個全部手元にあります。
スライダーを探す手間がなくなって、パラメータをいじって試すのがとても速くなりました。

遊びの画面を出したJP-Knob16

画面には、遊びでドット絵も出せるようにしました。

私でも作れた理由

ハードウェアを作るのが、とても手軽になりました。
AI、JLCPCB、ESP32 やラズパイのようなマイコン、3Dプリンタ。こういうプラットフォームが揃ったおかげです。

今回は、以前なら自分では越えられなかった壁が4つありました。

回路と基板。
私は配線も部品の配置もできません。
回路図と基板のデータは Claude Code が作り、JLCPCB がそれを製造して、チップやキーのソケットのはんだ付けまでしてくれます。
私がはんだ付けしたのは、ノブと OLED のケーブルくらいです。

部品選び。
どの部品なら合うのか、どこで買えるのか。これも AI に聞きながら決めました。
それでも失敗はします。最初に買ったロータリーエンコーダーは軸にねじが無く、ナットでパネルに留められませんでした。それで、ねじ付きの Bourns 製を買い直しています。
ESP32 も、ピンの列の間隔が基板と合わない互換品を何種類か買ってしまいました。

ケース。
Claude Code がモデリングして、3Dプリンタで刷ります。
今回も、OLED を試した小さなケースと本番のケースを刷りました。合わなければ、直してまた刷ればいいだけです。

ファームウェア。
ESP32 のプログラムも Claude Code と書いています。
Mac からは MIDI 機器として見え、MIDI2LR というプラグイン経由で Lightroom Classic とつながります。

本当は、調べないといけないことがたくさんあるはずです。
でも Claude Code と一緒にやれば、めっちゃスムーズです。
私がやったのは、欲しいものを決めることと、キーキャップのデザイン、それにはんだ付けと組み立てです。

かかった費用

誰かの参考になればと思い、この1台のために買ったものを全部まとめました。
寸法が合わなかったものや、途中で買い替えたものも入っています。

品目 買った先 数量 金額 備考
基板3種類(ノブ・メイン・ボタン)の製造と実装 JLCPCB 各5枚 約¥15,270($101.83) 送料込み。チップとソケットは実装済みで届く
ロータリーエンコーダー Bourns PEC11R Digi-Key 20個 ¥7,962 完成品に使ったもの
ロータリーエンコーダー Alps EC11E LCSC 30個 約¥7,810($52.06) ねじが無く不使用
OLED 3.12インチ 256×64 — 4枚 ¥9,488
ESP32-S3 Waveshare DEV-KIT Amazon 1個 ¥5,233 完成品に使ったもの
ESP32-S3-DevKitC-1 純正 AliExpress 2個 ¥5,727 開発・テスト用(micro-USB だった)
ESP32-S3 互換品 Amazon 3個 ¥3,996 列の間隔が合わず不使用
ESP32-S3 互換品 AliExpress 1個 ¥372 列の間隔が合わず不使用
キースイッチ Cherry MX2A 茶軸ほか 遊舎工房 37個 ¥3,894 送料込み
キーキャップ DSA 無刻印 遊舎工房 11個 ¥605 結局、自作のキャップを使用
OLED 用ケーブル・ハウジング 秋月電子 一式 ¥1,150
Qwiic ケーブル スイッチサイエンス 5本 ¥2,235 送料込み
合計 約¥63,700
  • ドル建ては1ドル150円で換算しています
  • 3Dプリントのフィラメント、ねじ類は入っていません
  • 完成品に入っていないもの(開発用・不使用)が約1万8千円あります。最初から合う部品を選べていれば、4万5千円くらいで済んだ計算です
  • 基板は最小ロットの5枚ずつで注文しました。ノブの基板は1台に4枚使うので、2台目を作るにはまた発注が要ります
  • 代わりに、キーの基板は余っています。これで10キーの何かを作ろうかと企んでいます

そんなわけで、サイトも作りました。

JP-Knob16 — 写真から目を離さない、16ノブのコントローラー

JP-Knob16 の紹介サイト

いくつか3Dプリントをして慣れてきたところで、今回初めて動くものを作りました。
これからは JProducts というブランドで、このシリーズのものをいくつか作っていこうと思います。