SMARTKNOB — OPEN-SOURCE HAPTIC INPUT KNOB WITH SOFTWARE-DEFINED DETENTS

A knob where every click, spring, and endstop is created by a motor running closed-loop torque control — and you change the feel by editing code.

by Scott Bezek

FULL CAD BOM FIRMWARE DOCS

Open-hardwareDisplays

Built withESP323D printing

difficulty
●●●●○
time
a long weekend
license
Apache-2.0
repo
repo ACTIVE22,176 stars
1
Jump to section

COMPAREE VERDICT

SmartKnob pairs a BLDC gimbal motor with a magnetic encoder in closed loop, so it can simulate detents, springs and hard stops purely in firmware. Turn the code dial and it becomes a smooth volume knob; change one parameter and it locks into 12 positions with a satisfying click. A round 240x240 LCD sits in the rotor behind watch glass, so the UI can match the haptic mode. Boards, code and enclosure are all open, but Scott Bezek is clear it is not yet a mature plug-and-play project: there is no full build guide, and you rely on the README notes, schematics and the Discord community. The part most likely to go wrong is soldering. The TMC6300 motor driver is a 3x3 mm QFN with a 0.4 mm pitch and a bottom pad, and if you have never reflowed that scale of part you will spend longer on rework than assembly. The second trap is motor choice: most cheap gimbal motors cog, and the creator recommends the SparkFun motor for a reason. If you have built a 3D printer or soldered a keyboard PCB, this is the logical next step. If you have only done through-hole kits, it will eat your weekend and possibly the one after. The reward is a control that stops being hardware and starts being software.

GOOD TO KNOW

  • —Full KiCad schematics and board files for the Base PCB and the Screen PCB. Press detection uses SMD resistors on a PCB flexure as strain gauges.
  • —Complete ESP32 firmware in the repo, PlatformIO project structure.
  • —STL files for all printed parts — knob body, motor mount, back cover.
  • —There is no step-by-step assembly guide. The README has build notes, schematics, auto-generated interactive BOMs (marked untested) and tested files in releases. The recommended motor is stocked by SparkFun but sells out quickly.
  • —The creator warns this needs advanced soldering experience: very small-pitch surface-mount parts (reflow or hot air recommended), delicate assembly, and troubleshooting hardware and firmware yourself.
  • —Apache 2.0 for software, electronics and documentation; CC BY 4.0 for the mechanical design. Both permit commercial use with attribution.

Parts to buy

6 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • ESP32-PICO-V3-02 module (Lilygo TMicro32 Plus)Find
  • TMC6300 motor driverFind
  • MT6701 magnetic encoder (from LCSC)Find
  • GC9A01 round LCDFind
  • Recommended 32 mm hollow-shaft gimbal motor from SparkFunFind
  • 39.5 mm watch glassFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintSix parts: Enclosure, Knob, ScreenPlatform, RotorSpacer, MountBase and BackPlate. STLs are in the v185 mechanical release; the creator used MJF nylon, and well-tuned FDM can probably work.
BuyESP32-PICO-V3-02 module (Lilygo TMicro32 Plus), TMC6300 motor driver, MT6701 magnetic encoder (from LCSC), GC9A01 round LCD, the recommended 32 mm hollow-shaft gimbal motor from SparkFun, 39.5 mm watch glass, and the parts in the auto-generated interactive BOM.
ToolsHot air or reflow oven for QFN chips, fine-tip soldering iron, PlatformIO, 3D printer, basic hand tools.
SkillsAdvanced soldering — very small-pitch surface-mount parts, reflow or hot air recommended. Firmware flashing, the calibration process, and patience for closed-loop debugging. Not a first electronics project.
TimeA long weekend if you have done SMD before; a weekend-plus if the QFN chips are new to you and you hit tuning trouble.
Cost$$. The creator's rough guess is under 200 dollars in parts, but minimum order quantities and shipping from several suppliers can push it higher.
SafetyNone beyond ordinary electronics care — low voltage throughout, no mains, no lithium cell in the design.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

DIY haptic input knob: BLDC motor + round LCD

Scott Bezek's original demo video showing the haptic modes — bounded detents, smooth rotation, multi-rev, hard endstops. No voiceover, just the knob doing its thing.

More builds like this

All projects

Gallery

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the full README and view demo video (Scroll to the hardware and firmware sections — Scott's notes on motor selection and tuning are buried halfway down and you need them before ordering.)
  2. 2.Check the BOM and order parts(The recommended 32 mm hollow-shaft motor is stocked by SparkFun but sells out fast, so sign up for back-in-stock notifications. Use the interactive BOM from a tested release, not the untested master build.)
  3. 3.Print the enclosure parts(Six parts (Enclosure, Knob, ScreenPlatform, RotorSpacer, MountBase, BackPlate) from the v185 mechanical release. The creator used MJF nylon for tight tolerances; a well-tuned FDM printer can probably work.)
  4. 4.Assemble and solder the main PCB(Use a stencil and gel flux for the base PCB and reflow or hot air the QFN parts first; if you have never done parts this small, practise on a scrap board.)

Resources

Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.

KNOWN ISSUES

  • Ordering the wrong motor: the recommended 32 mm hollow-shaft motor (SparkFun) sells out quickly, and almost every cheap substitute cogs enough to ruin smooth rotation and fine detents.
  • Underestimating the SMD soldering: the TMC6300 is a tiny 3x3 mm QFN with a 0.4 mm pitch and a bottom pad. The creator recommends a stencil and gel flux and still had to clean up bridges by hand.
  • Skipping the encoder alignment — the MT6701 reads the magnet position and if it is not centred over the shaft the readings will wobble, which shows up as inconsistent detent strength. The mechanical tolerance is tight.
  • Flashing firmware without setting up PlatformIO properly — the repo uses PlatformIO, not Arduino IDE, and if you skip the dependency install the build will fail halfway with cryptic errors.
  • Expecting plug-and-play haptics — every motor has different resistance and inertia, so the default PID values are a starting point. You will spend time tuning, and the creator's notes on that are brief.
  • Deciding on the LCD late: the round screen shows which haptic mode is active, but the README says you can omit it for a simpler build and print a closed-top knob instead — decide before you order parts and print the knob.

Can I use a different motor if the recommended one is out of stock?

You can try, but the creator warns you probably will not be happy: nearly every cheap gimbal motor the community has tested cogs noticeably, which fights the virtual detents. The recommended 32 mm hollow-shaft motor with a built-in diametric magnet (sold by SparkFun) is the only readily available one he rates as good. Sign up for restock alerts if it is out.

Do I need a reflow oven or can I hand-solder the QFN chips?

Hot air or reflow is the practical minimum: the TMC6300 is a tiny QFN with a bottom pad. The creator recommends ordering a stencil and using gel flux, and still had to clean up bridges by hand.

How hard is the motor tuning?

The firmware has a calibration process described in the creator's firmware guide; after that, the feel of each mode is set in code. Expect some iteration, especially with a motor other than the recommended one.

Can I run this on battery?

The design is USB-powered (5V input); you could run it off a USB battery bank but the motor will drain it faster than you expect under load. There is no onboard charging or low-power mode.

Is there a prebuilt version or a kit?

No official kit exists, and the README says the project is not yet plug-and-play. If you only want to experiment with haptic feedback, the README recommends the NanoFOC DevKit++, an open design sold by a community member; for the full SmartKnob View you build it yourself.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

22,000 stars, and the README still says you will almost certainly need to troubleshoot hardware and firmware yourself. If you have built one, how long did it take before the detents felt right?

CompareeTEAM2mo agoedited

Practical notes from our verification: the README is upfront that this is not yet a mature plug-and-play project — the last push to the repository was in February 2024, there is no step-by-step assembly guide, and the author expects you to troubleshoot hardware and firmware issues yourself. The build needs very small-pitch surface-mount soldering (the TMC6300 motor driver is a 3 × 3 mm QFN), so plan on reflow or hot air. The recommended motor is a 32 mm hollow-shaft gimbal motor with a diametric magnet that SparkFun stocks (product 20441); the README warns that it sells out quickly and that cheap substitutes usually cog. The six printed parts are listed in the README, the firmware includes a calibration process, and there is a Discord server linked from the README for build questions. Licensing is Apache 2.0 for software, electronics and documentation, and CC BY 4.0 for the mechanical parts. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

Scott Bezek

Scott Bezek is a hardware engineer who built SmartKnob to explore what happens when a control surface stops having fixed mechanical properties and becomes programmable. The project emerged from curiosity about haptic feedback and has since become one of the most-starred open-hardware input devices on GitHub.

GitHub

Star the project on GitHub

DISCLAIMER

  • Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
  • Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
  • Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.