scottbez1 / smartknob

Haptic input knob with software-defined endstops and virtual detents
https://www.youtube.com/watch?v=ip641WmY4pA
Other
19.22k stars 1.11k forks source link

Suggestion: Save money in your BOM and use cheap linear hall effect sensors instead of the MT6701-CT #22

Closed riskable closed 2 years ago

riskable commented 2 years ago

I had a look at your design (which is fantastic!) and I couldn't help but notice you're using the MT6701-CT for positional encoding. Let me first state: That's fine. The MT6701-CT is a fantastic chip but it has two issues:

For my Void Switch keyboards (https://github.com/riskable/void_switch) I came up with an analog rotary encoder design (well, several of them actually) that utilizes just two super cheap ($0.09/each) GH39FKSW (or OH49E-S) linear hall effect sensors with ultra cheap ($0.01/each) 4x2mm (or 4x1mm) magnets to perform the same exact job as a single MT6701-CT.

Here's a screenshot of what the simplest version looks like:

Analog Hall Effect Rotary Encoder PCB Screenshot

The little white circles represent the location of the magnets. They're alternating N/S and since the sensors are analog the resolution is configurable just like the detents/tactile feedback you've come up with for your smart knob. The rest of it should be pretty self-explanatory but I can provide intimate details if you want (including the conditional "truth table" that determines knob direction/motion).

The only downside to this method is it requires 6 magnets (or as many as you want if you desire a bigger ring; just make it an even number--my Riskeyboard 70 I'm typing on uses a ring of 12) instead of just one like with the MT6701-CT.

There's also a way you can do away with your strain gauges (though that's super clever I love it) to add a pushbutton feature by simply adding a 3rd hall effect sensor in the middle and using a mechanical setup like so:

https://gfycat.com/fabulouscostlyblackrhino

Anyway, this is totally not important. Just a way to save a couple bucks per PCB.

scottbez1 commented 2 years ago

Thanks for the suggestions! That's definitely a cool approach.