T-Knob SmartKnob Fork — Haptic Encoder with Software Detents - image 1
Build Guideadvanced

T-Knob SmartKnob Fork — Haptic Encoder with Software Detents

A community fork of the LILYGO T-Knob that explores using its ESP32-C6, TMC6300 motor driver, and MT6701 magnetic encoder to build a SmartKnob-style haptic rotary controller with software-defined detents and position limits.

Boards:ESP32-C6
Firmware:Arduino
Use Cases:IoT PrototypingHome Automation

Overview

This fork of the LILYGO T-Knob investigates its potential as a SmartKnob-style haptic input device. The T-Knob hardware is uniquely positioned for this: it uses the same core components (ESP32, TMC6300 brushless motor driver, and MT6701 magnetic angle encoder) as Scott Bezek's popular SmartKnob DIY project. The goal is to enable software-defined detents, position limits, and haptic feedback — turning the T-Knob into a programmable haptic interface.

Hardware Components

Component Part
MCU ESP32-C6-MINI-1U
Motor Driver TMC6300 (3-phase brushless)
Angle Sensor MT6701 magnetic encoder
Interface SPI + I2C

Example Programs

The repository includes progressive examples for controlling the motor and encoder:

  1. Simple 6-step motor commutation
  2. MT6701 magnetic encoder reading
  3. MCPWM controller for motor drive
  4. Combined MCPWM + encoder feedback
  5. FOC open-loop velocity control
  6. FOC open-loop angle control
  7. FOC closed-loop position + speed control
  8. PID control with low-pass filtering for smooth haptic feedback

Technical Details

Builds on the Arduino IDE with the ESP32-C6 boards package. All examples are self-contained and build to the official T-Knob factory firmware. Inspired by the SmartKnob project's approach to motor-as-haptic-input. Community discussion is happening in the repository's Discussions tab.

Resources