Hardware · Embedded Systems

SmartKnob

Haptic-feedback rotary encoder built on an open-source PCB design. Three boards assembled and flashed — each driven by a BLDC motor under Field-Oriented Control to produce programmable detent sensations and visual feedback through a ring of eight LEDs.

YEAR2025
TYPEHardware · Embedded
ROLEBuilder · Firmware
STATUSAssembled & Flashed

Fig. 01 — SmartKnob View in operation

Three SmartKnob View Base PCB v0.5 boards — one illuminated with full LED ring

Fig. 02 — SmartKnob View Base PCB v0.5 × 3 (one powered, LED ring active)

Technical Stack
LanguageC++ / PlatformIO
MCUESP32-S3
Motor DriverTMC6300 FOC
DisplayRound LCD + LED Ring
ProtocolSerial / Wi-Fi OTA
PCBSmartKnob View v0.5
What I Built

PCB Assembly

Soldered three SmartKnob View Base PCB v0.5 boards from components — TMC6300 motor driver IC, ESP32-S3 module, LED drivers, and the BLDC motor mount.

Firmware Flash

Built and uploaded the open-source PlatformIO firmware over USB. Configured FOC motor parameters and haptic detent profiles in C++.

Haptic Profiles

Tuned magnetic pole count and current limits to achieve clean detent clicks, free-spin, and damped modes — mapped to different knob "personalities".

LED Ring Control

Configured the eight-LED ring for position feedback and idle animations, matching the knob's current mode through colour and brightness.

Open Source

Based on the SmartKnob View by Scott Bezek