Smartknob – an inaugurate-provide input instrument

Smartknob – an inaugurate-provide input instrument

SmartKnob is an inaugurate-provide input instrument with arrangement-configurable endstops and digital detents.

A brushless gimbal motor is paired with a magnetic encoder to catch closed-loop torque ideas regulate, making it that you just might most likely most likely also imagine to dynamically create and regulate the indubitably feel of detents and endstops.


SmartKnob Gape

Top class SmartKnob expertise. Below energetic increase.

No longer rapid for frequent employ yet (mechanical and electrical revisions are deliberate).

Requires honorable soldering expertise to originate – reflow and/or minute-pitch surface-mount soldering are required, and assembly is slightly time-drinking and modern.


  • 240×240 spherical LCD, correct by 39.5mm look glass on rotor
  • Low trace BLDC gimbal motor, with a hole shaft for robotically & electrically connecting the LCD
  • Powered by ESP32-PICO-V3-02 (Lilygo TMicro32 Plus module)
  • PCB flexure and rigidity gauges worn for press detection (haptic ideas offered thru the motor)
  • 8 aspect-firing RGB LEDs (SK6812-SIDE-A) illuminate ring across the knob
  • USB-C (2.0) connector for 5V energy and serial info/programming (CH340)
  • VEML7700 ambient gentle sensor for automatic backlight & LED intensity adjustment
  • Versatile abet plate for mounting – employ either 4x screws, or 2x 3M medium Repeat strips (with cutouts for having access to elimination tabs after set up)
  • Front hide snaps on for quick catch admission to to the PCB

Demo video


Exploded view

Most modern Fusion 360 Model:

Carry out your gather?

Extra documentation on the BOM and what aspects you could deliver is coming in the long urge – thanks so a lot to your curiosity! Practice me on Twitter for the most modern updates on this and other initiatives.

A couple of miscellaneous notes in the length in-between:

  • This might occasionally doubtlessly be FDM 3D printed with a neatly-tuned printer, but the aspects confirmed in movies/pictures were MJF printed in nylon for tight tolerances and better surface attain
  • If you happen to wished a more easy originate, you might most likely most likely omit the LCD and proper merge the knob + glass from the mannequin correct into a single STL to catch a closed-high knob
  • There is limited discipline inside the LCD mount for wiring, and 8 wires want to suit thru the hole in the heart. I worn 30 AWG wire-wrapping wire. Enamel-covered wire would doubtlessly work too.
  • Stress gauges are BF350-3AA, and stuck in region with CA glue (I am going to consist of video of this process in the long urge, but indubitably I worn kapton tape to diagram shut up the rigidity gauge and gather it in region all thru curing). This has to be carried out after reflow soldering, and would be onerous to gather in case of a mistake, so MAKE SURE TO PRACTICE FIRST!
  • The TMC6300 is miniature and has a bottom pad, so I’d seriously capture hide of getting a stencil alongside with the PCB dispute. Even with the stencil I wished to manually neatly-kept up some bridging later on; I highly suggest Chip Quik NC191 gel flux, accessible on Amazon (or employ this non-affiliate link as a change) or from your electronics distributor of change.
  • For breadboard prototyping, the TMC6300-BOB is honorable and approach more easy to work with than the naked chip
  • Construct obvious to bear a look at the inaugurate points – this catch is rarely any longer yet “staunch”, so beware that every part would maybe most likely most likely also no longer high-tail easily, but that is the fun of DIY, factual?

Future plans:

  • capture hide of switch to the usage of an ESP32-S3-MINI-1 module (once Arduino core toughen is full), as that might enable for deliver USB HID toughen (for joystick/macro-pad form input to a pc)
  • catch wifi configured and working (doubtlessly MQTT?). Currently reminiscence is an discipline with the stout reward framebuffer sprite. PSRAM would maybe most likely most likely repair this (requires more moderen ESP-IDF & unreleased Arduino core, and from a handy guide a rough take a look at I bought gruesome performance with PSRAM enabled), or the next merchandise would maybe most likely most likely lend a hand decrease reminiscence:
  • migrate to LVGL, for greater reward rendering and easy toughen for menus, and heaps others. Shouldn’t require a stout 240x240x24b framebuffer in reminiscence, releasing some for wifi, and heaps others.
  • combine nanopb for structured serial info (see splitflap protobuf protocol let’s yell)
  • Residence Assistant integration, or other staunch-world applications
  • ???
  • Income 😉

Detrimental PCB

Ordering notes: employ white soldermask, for reflecting gentle from RGB LED ring across the knob. Wishes to be 1.2mm thick (no longer “strange” 1.6mm).


Interactive BOM

PCB Packet


Show hide hide PCB

Ordering notes: Wishes to be 1.2mm thick (no longer “strange” 1.6mm) per mechanical catch.


Interactive BOM

PCB Packet


SmartKnob Handheld

An exploration of a minute handheld originate-ingredient. Below energetic increase.

SmartKnob Mini

Deliberate for the long urge.

Aspect Files

Magnetic encoders

MT6701 (MagnTek)

Unswerving sensor at an cheap trace – highly rapid. Much less noisy than TLV493D, and extra responsive (regulate loop is extra staunch) the usage of SSI.

  • Hundreds IO ideas – SSI, I2C, and ABZ – must provide unbiased response latency
  • SSI contains CRC to validate info
  • No energy-down or low-energy ideas – would maybe most likely no longer be ultimate for battery-powered devices
  • No longer accessible from US distributors (Mouser, Digi-Key)


Ordering (LCSC)

TLV493D (Infineon)

A mediocre change. Easy to prototype with the usage of Adafruit’s QWIIC breakout board.

In my testing, it’s somewhat noisy, requiring filtering/smoothing that would maybe most likely unhurried responsiveness, hurting regulate loop steadiness. Or, with less filtering, the noise
can with out complications be “amplified” by the derivative part in the PID motor torque controller, inflicting audible (and tactile) humming/buzzing.

There is additionally it appears to be like a identified silicon discipline that causes the interior ADC to most continuously entirely lock up, requiring a stout reset and re-configuration. Look portion
5.6 in the Particular person Manual

In the Master Controlled Mode (MCM) or the Rapid Mode (FM) the ADC conversion would maybe most likely most likely also hang up. A hang up can
be detected by:
 - Frame Counter (FRM) counter stucks and would not increment anymore.

In my expertise testing 4 varied Adafruit breakout boards, 2 of them (50%) normally show this lockup behavior within a minute or two of employ. It is that you just might most likely most likely also imagine to detect and auto-reset (and there might be code in the project to develop so), on the other hand it’s unhurried and must discipline off undesirable jumps/delays if the sensor locks up normally.


AS5600 (AMS)

A mediocre change. Low-trace breakout boards come in.

In my testing, or no longer it’s slightly noisy (anecdotally, noisier than the TLV493d), requiring filtering/smoothing that would maybe most likely unhurried responsiveness, hurting regulate loop steadiness. Additionally, it saturates at a decrease magnetic discipline strength than other sensors I examined, requiring a vital air gap (8-10mm) when worn with a solid neodymium diametric magnet indulge in Radial Magnets 8995.


Motor drivers


Right here’s a slightly original IC and or no longer it’s a pleasant match! There most continuously aren’t another drivers (with constructed-in fets) that meet the requirements for the low-voltage and low-most modern motors worn in this project (DRV8316 would maybe most likely most likely work, but has no longer been examined).


  • 2-11V DC motor present input
  • As a lot as 1.2A RMS
  • Minute (3x3mm QFN)


Product web page


32mm Rotor, Hole Shaft, Diametric magnet

  • 32mm rotor
  • 15mm total peak (in conjunction with magnet), 12.75mm peak w/o magnet, 9mm rotor peak
  • low/zero cogging – exquisite for entirely soft input
  • 5.9mm hole shaft
  • constructed-in diametric magnet for encoder
  • Proven option

Right here’s total the finest motor to launch up with. Low cogging and a constructed-in diametric magnet are monumental!


Coming quickly: I’ve ordered over a dozen varied BLDC motors to take a look at and must create a high level understanding of which of them are upright for this extra or less haptic ideas employ-case.

TODO: document this

Also TODO: put in force a lot extra of the firmware

How a lot does it trace?

I desire I would maybe most likely most likely dispute you now, but I don’t indubitably know off the pause of my head. Check abet quickly – I’ve finest constructed 1 to this level, which became once the consequence of a bunch of tinkering and prototyping over an prolonged length, so I must no longer bear your total charges tallied up yet. Absolutely no longer as a lot as $200 in aspects, and most likely closer to $100?

Does it work with XYZ?

No. To this level I’ve finest applied enough firmware for the demo confirmed in the video, so that you just might most likely most likely also’t indubitably employ it for one thing else productive yet. The classic detent configuration API is there, but no longer a lot else. Hundreds firmware work remains to be carried out. If you happen to originate one, I would maybe most likely most likely indulge in your lend a hand adding toughen for XYZ even though!

Can I rob one as a equipment or already assembled?

Seemingly no longer? Or no no longer as a lot as, I must no longer bear any rapid plans to promote them myself. Or no longer it’s miles rarely any longer that I don’t desire you to be delighted, but hardware is a onerous business and I correct work on these items in my free time.

Or no longer it’s inaugurate provide with a slightly permissive license even though, so in theory somebody would maybe most likely most likely launch up offering kits/assemblies. If somebody does high-tail down that route of marketing them, hide that attribution is
required (and I’d no longer yell no to royalties/guidelines/thanks if you are in a giving temper 🙂).

This project became once vastly impressed by Jesse Schoch’s video “haptic textures and digital detents” and the
corresponding dialogue in the SimpleFOC community. Severely, this project wouldn’t exist if no longer for that video – thanks Jesse!

This project is licensed underneath Apache v2 (arrangement, electronics, documentation) and Creative Commons Attribution 4.0 (hardware/mechanical) (see LICENSE.txt and Creative Commons).

Copyright 2022 Scott Bezek

Licensed underneath the Apache License, Version 2.0 (the "License");
you might most likely most likely also no longer employ this file rather then in compliance with the License.
You are going to also originate a copy of the License at

Unless required by acceptable law or agreed to in writing, arrangement
dispensed underneath the License is dispensed on an "AS IS" BASIS,
Look the License for the explicit language governing permissions and
barriers underneath the License.

Read More



Hey! look, i give tutorials to all my users and i help them!