Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I made a rotary input device that provides software-defined "virtual" detents and end-stops, implemented using a BLDC gimbal motor. It can dynamically switch from completely smooth unbounded rotation, to having detents with configurable spacing and strength and "end-stops" that spring back if you try to rotate past them.

https://www.youtube.com/watch?v=ip641WmY4pA

It's got a round LCD on the front of the knob (wired and supported via the hollow shaft of the motor) and uses the flex of the PCB and strain gauge sensors (in the latest revision, simply SMD resistors whose resistance changes when stretched) to detect when the knob is pressed down.

It's open source hardware and software - https://github.com/scottbez1/smartknob

HN folks might appreciate that it communicates with host software on the computer via protobuf-encoded USB serial messages -- nanopb is awesome for embedded C protobuf support, and having the defined schema, autogenerated serialization code, and compile-time type safety is so much nicer than ArduinoJson or hand-written binary protocols!

I'd love to get it hooked up to some real software eventually (video editors or home-assistant control are my 2 main ideas), but it's really just been a fun project to tinker with and try out some new ideas and parts I've never used before.



I've noticed that finding a motor with a through-hole is a persistent problem. Have you experimented with a gear driven design to work around this?


that video of yours just popped up on my YT feed yesterday! did it get "YT-algoed"?


Hah, yeah I think it may have. I've noticed an increase in comments over the last few days, which usually suggests the algo is showing it to new people again, and it got featured on the Adafruit blog this morning which probably reinforced it further, but no idea why the recent resurgence.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: