Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Smartknob – an open-source input device (github.com/scottbez1)
104 points by _Microft on March 11, 2022 | hide | past | favorite | 12 comments


There is a demo video showing off the capabilities: https://www.youtube.com/watch?v=ip641WmY4pA


This is similar to an idea I had many years ago, but goes to a much much higher level. I wanted to make a joystick/incremental encoder/pushbutton by placing an encoder pcb over 4 force sensors, so that one could either act on the encoder single button, or rotate the knob, or move it in different directions without rotating it; a RGB LED ring would give an indication of the values by emulating multi digit precision. Mechanical difficulties and lack of time prevented me from even starting it. This one however is cool beyond any imagination, kudos to the author for releasing it as FOSS&H; I hope to see it produced some day, possibly also a cheaper version (LED ring instead of screen, no motor, etc) since the BOM cost alone could be discouraging.


Magnetic detents are a great idea. Providing haptic feedback distinguishes ok rotary devices from great ones, and the fact that they're programmable here is fantastic.


I was going to post this to HN just now, but realize now it was already submitted.

Hope it makes the front page. Looks like a really cool (mechanically satisfying) device.


Saw this and instantly want one. I have no idea what I’ll use it for, maybe just an extremely expensive fidget spinner, but I want one.

As per usual living in the UK will make it cost prohibitive to make it myself, but I would pay probably $150-200 for a retail one.


The LCD seems to be "GC9A01"

https://www.google.com/search?q=LCD+GC9A01


Very nice! USB HID support would be rad.


It's on the roadmap (as much as there can be for a hobby side project). I've got an ESP32-S3 dev board that I want to start testing, as soon as the Arduino core supports it - it looks like an awesome combo of dual core ESP32 with native USB and wifi in a relatively compact module.

I considered adding an RP2040 to this rev, or perhaps replacing the CH340 with something like an ATmega8U2 like the Arduino Uno uses, but ultimately decided to set USB HID aside in order to focus on actually getting the rest of it built first.


Awesome work! If I had known that the maker of this is here himself, I would have refrained from submitting something that could have been a great "Show HN"! My apologies.

I'm not too knowledgable about electronics, so maybe this idea will sound dumb: could one replace the strain gauges with serpentine traces on top and bottom of the suspensions and use these for the same purpose? It might be difficult to route other connections into the central part of the PCB then though.

Edit: I just saw that there are two strain gauges, not four as I initially assumed.

Edit2: maybe even single-sided strain gauges could work when placing one each over the connections of the suspension with the central, circular part and the outer frame? These places should bend in opposite directions when pressing the button, shouldn't they? That would leave one side of the PCB for routing connections over the suspension.

Edit3: in the end, it would be another feature to support, so creating one's own gauge sensors might be anything but a good idea.


I'm not super familiar with strain gauges, but I've seen some discussions about designing them as part of a PCB and it seems like 2 concerns come up: resistivity and, to a lesser extent, trace width.

It sounds like strain gauges may use a metal with higher resistivity than copper, which means you get a higher overall resistance (the ones I'm using are 350 ohm) which is better for stable measurements.

With copper traces, and especially if you're using the cheap PCB manufacturing services with large minimum trace widths, I think you'd end up with maybe single-digit ohms, which would use more power and generate more heat (which would then also change the resistance).

But if it could be made to work it would be amazing and simplify the design a lot! So I'll have to keep an eye out in case anyone does more experimentation in that space.


This looks awesome but also at least $200 just in parts.


I haven't compiled the full BOM yet (since I gathered the parts for this gradually over an extended time), but I'm 99% certain BOM cost for a single unit is under $200. Probably closer to $100 or $150.

And I think the single most expensive item was ordering the 3D printed parts as MJF nylon for better tolerances and surface finish, at ~$35 (I FDM printed some functional prototypes, so that's a cheaper option too, they were just ugly). PCBs and stencil were $24 (enough to build 5x, so more like $5 each if you build more than one or split it with a friend). LCD was ~$6, ESP32 module ~$7. Motor $4. Strain gauges $5 (enough for 2x). Misc electronics (CH340, HX711, VEML7700, MT6701, resistors, caps, LEDs) were probably $20-50 in total from a few different suppliers). All of those numbers are with shipping included.




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

Search: