SmartKnob - ソフトウェア定義のエンドストップと仮想デテントを備えたハプティック入力ノブ
(github.com/scottbez1)- SmartKnob は、ソフトウェアで設定可能なエンドストップと仮想デテントを提供するオープンソースの入力デバイス
- ブラシレスジンバルモーターと磁気式エンコーダーを組み合わせ、閉ループのトルクフィードバック制御を実現し、デテントやエンドストップの感触を動的に生成・調整可能
- SmartKnob View は統合ディスプレイ付きの設計で、現在 active development の状態
- SmartKnob View の主なハードウェア構成は、240x240 の円形 LCD、中空軸 BLDC ジンバルモーター、ESP32-PICO-V3-02 ベースの Lilygo TMicro32 Plus モジュール、押下検知のための PCB フレクシャーと SMD 抵抗ストレインゲージ、8 個の側面発光 RGB LED、USB-C 2.0 の電源・シリアルデータ・プログラミング接続、VEML7700 周囲光センサー
- オーディオ・ビデオ編集の例として、タイムラインスクロール中にクリップ境界を感じられるジョグホイール、再生速度制御で一時停止位置に戻るスプリングロードホイール、1x・2x・4x のようなスナップポイントを使う方式がある
- DIY のオープンソースプロジェクトではあるが、まだ成熟したプラグアンドプレイのプロジェクトではなく、高度なはんだ付け経験、非常に細かいピッチの表面実装はんだ付け、時間のかかる組み立て、ハードウェアとファームウェアの問題解決能力が必要
- 現状では一般用途には推奨されず、上級の電子工作ホビイストにとっては面白いプロジェクトになり得る
- 標準ファームウェアの書き込みとキャリブレーションを完了していれば、USB 接続した SmartKnob を Web Serial で利用する Web ベースのインタラクティブデモを実行可能
- NanoFOC DevKit++ は SmartKnob コミュニティメンバーが作成したオープンソース設計で、ESP32-S3 を使用し、SmartKnob ファームウェアは PlatformIO の
nanofoc環境を選択することで動作する - FAQ によれば、実際に生産的な用途で使うための統合はまだ存在せず、動画デモに必要な程度のファームウェアのみが実装されており、基本的なデテント設定 API は存在するものの、ファームウェア作業はまだ多く残っている
- ライセンスは、ソフトウェア・電子回路・ドキュメントに Apache v2、ハードウェア・機械設計に Creative Commons Attribution 4.0 が適用される
1件のコメント
Hacker News のコメント
これほどドキュメントが整ったオープンソースハードウェアプロジェクトを見るのは本当にうれしい
ただし、ソフトウェアプロジェクトよりはるかに難しいこともよく分かる。3D設計と出力、ハードウェア調達の問題、慎重な部品選定、ツールチェーン自動化のサポート不足など、障壁がいくつもある。ライトなハードウェア趣味の立場からすると、印象的である一方で気後れもする
これがオープンソースハードウェアである点が本当にいい。こうした周辺機器向けの回路はウェブ上にいくつもあったが、ここまで洗練されたものはほとんどなかった
設計者がここにいるなら、回路について質問がある。ユーザーがノブを回したときに発生する電圧への保護があるのか気になる。回路図上では TMC6300 IC が中間回路なしで BDCM に直接接続されているが、データシートに載っている保護機能は、モーターを発電機のように使う場合ではなく、モーターとして使う場合の故障に関するものだけに見える
TMC6300 のデータシートにも BLDC モーターへ直接接続する形が示されていたので、それを基に設計しました。とはいえ見落としているベストプラクティスがあるかもしれません。例えば主電源側のダイオードのようなものかもしれず、詳しい方が口を挟んでくれるなら歓迎します。プルリクエストも歓迎です
物理コントロール付きのデジタルジュークボックスを作っていて、トラックを切り替えたりミックスしたりするのに使う、いろいろな種類のノブ型コントロールを探していた
このプロジェクトはぜひ試してみるつもり。ドキュメントの整ったオープンソースハードウェアなのがいい
2022年に投稿された以前の提出があり、コメントが12件ほど付いていた
https://news.ycombinator.com/item?id=30646371
実装が素晴らしい。家電製品のノブ入力を見ると、物理的なクリック位置はあるのに、入力エンコーダーがそのクリック位置と合っていない場合があまりに多い
例えば、機器をオンにすると設定1から始まり、ダイヤルを設定3まで回す必要があるとする。普通に期待するなら、物理的に1回カチッと回すと設定2、もう1回カチッと回すと設定3に進むはずだ。ところがクリック位置が完全に任意で、目的の設定まで何回カチッと回せばいいのか分からない機器をよく見かける。そうなるとクリック位置はむしろ積極的に誤解を生む
SimpleFOC は卒業後に学んだものの中で最高だった。ハードウェアとソフトウェアの両方の機能を活用できるプロジェクトが本当に多い
このプロジェクトや他のクールなプロジェクトが、SF の Open Sauce でデモされたようだ https://opensauce.live/
これを使う用途がどうしても必要になってきた
Microsoft Surface Dial があったが、あれが実際に定着したのかはよく分からない。似た形の別製品もあった気がする
「格好いいユーザー体験」の問題の一つは、目立ちすぎることだ。キャリアの大半で「格好いい」UX要素を設計してきたので、その意味は分かる。繰り返し続けている失敗だが、たぶん挑戦が好きなのだろう。最近の仕事の一つは Swift 用の「prize wheel」スピナー(iOS/iPadOS、UIKit)[0] だ。SwiftUI 版も検討し、実際に着手もしたが、正当化するのは難しかった。とても軽量で品質が高く使いやすいが、あまりに目を引くので、自分のプロジェクトでは結局使わなくなってしまう。従業員がたいてい黒い服を着るのには理由がある
[0] https://github.com/RiftValleySoftware/RVS_Spinner
https://www.amazon.com/3Dconnexion-3DX-700028-SpaceNavigator...
それより大きい兄弟製品もあり、基本的には SpaceNavigator の周囲にたくさんのボタンを追加した形だ。3Dconnexion SpaceMouse Pro https://www.amazon.com/3Dconnexion-3DX-700040-SpaceMouse-Pro... そして 3Dconnexion SpaceMouse Enterprise https://www.amazon.com/3Dconnexion-SpaceMouse-Enterprise-31-...
素晴らしい。幼児の睡眠トレーニング用に似たものを作ろうかと考えていた
暗い部屋で触覚だけで操作でき、間隔を可変に設定できる装置が必要だったので、まさに気に入った