# scottbez1/smartknob

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/scottbez1-smartknob).**

21,425 stars · 1,232 forks · C++ · other

## Links

- GitHub: https://github.com/scottbez1/smartknob
- Homepage: https://www.youtube.com/watch?v=ip641WmY4pA
- awesome-repositories: https://awesome-repositories.com/repository/scottbez1-smartknob.md

## Description

Smartknob is an open-source programmable rotary interface platform that combines motor-driven feedback and sensor-based tracking to provide tactile input for digital environments. It functions as a customizable input device peripheral, utilizing a brushless motor and a magnetic encoder to translate physical rotation into precise control signals for software applications.

The platform distinguishes itself through software-defined haptic feedback, which allows for the simulation of physical sensations such as clicks, springs, and hard stops. By employing closed-loop control and real-time motor commutation, the system generates dynamic resistance and virtual detents that can be configured to match specific interaction requirements, effectively emulating mechanical switches without the need for complex physical hardware.

The project provides a comprehensive framework for custom hardware prototyping and haptic controller assembly. It includes guidance for mechanical and electronic integration, such as magnetic encoder alignment and modular mounting adapters, to ensure consistent performance across diverse motor and sensor configurations.

## Tags

### User Interface & Experience

- [Haptic Rotary Input Controllers](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers/haptic-rotary-input-controllers.md) — A programmable knob that uses a motor and magnetic encoder to simulate physical detents and resistance.
- [Peripheral Input Drivers](https://awesome-repositories.com/f/user-interface-experience/input-controls/peripheral-input-drivers.md) — Functions as a customizable input device peripheral for digital tools.
- [Haptic Input Device Development](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers/haptic-input-device-development.md) — Builds custom rotary controllers that provide physical feedback to users.
- [Closed-Loop Controllers](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers/closed-loop-controllers.md) — Implements closed-loop motor control to generate real-time tactile resistance and virtual detents.
- [Virtual Detent Systems](https://awesome-repositories.com/f/user-interface-experience/virtual-detent-systems.md) — Defines software-based boundaries and resistance profiles to emulate mechanical switches.
- [Haptic Feedback Controllers](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers.md) — Enables tactile feedback simulation by generating physical sensations like clicks and resistance. ([source](https://github.com/scottbez1/smartknob))
- [Tactile Feedback Configuration](https://awesome-repositories.com/f/user-interface-experience/haptic-feedback-controllers/tactile-feedback-configuration.md) — Allows users to adjust motor and sensor settings to create custom physical sensations. ([source](https://github.com/scottbez1/smartknob/blob/master/README.md))
- [Dynamic Resistance Controllers](https://awesome-repositories.com/f/user-interface-experience/input-controls/dynamic-resistance-controllers.md) — Modifies the physical feel of rotary controllers in real time to match software requirements. ([source](https://github.com/scottbez1/smartknob/blob/master/README.md))
- [Magnetic Encoder Alignment](https://awesome-repositories.com/f/user-interface-experience/element-positioning/alignment-utilities/magnetic-encoder-alignment.md) — Ensures magnetic encoder alignment for accurate rotational sensing. ([source](https://github.com/scottbez1/smartknob/tree/master/cad))

### Hardware & IoT

- [Rotary Input Controllers](https://awesome-repositories.com/f/hardware-iot/digital-i-o-controllers/rotary-input-controllers.md) — Translates physical rotation and haptic feedback into precise control signals for software applications. ([source](https://github.com/scottbez1/smartknob))
- [Rotary Encoders](https://awesome-repositories.com/f/hardware-iot/rotary-encoders.md) — Uses magnetic Hall effect sensors to track precise rotational position.
- [Motor Commutation Drivers](https://awesome-repositories.com/f/hardware-iot/h-bridge-motor-drivers/motor-commutation-drivers.md) — Drives motors with high-frequency PWM to generate instantaneous physical feedback forces.
- [Hardware Prototyping Frameworks](https://awesome-repositories.com/f/hardware-iot/integration-performance/hardware-interfacing-integration/hardware-prototyping-frameworks.md) — Provides a framework for custom hardware prototyping and haptic controller assembly.
- [Motor Mounting Adapters](https://awesome-repositories.com/f/hardware-iot/h-bridge-motor-drivers/motor-mounting-adapters.md) — Provides mechanical adapters to secure various motor sizes for consistent hardware alignment. ([source](https://github.com/scottbez1/smartknob/tree/master/cad))
- [Mechanical Mounting Systems](https://awesome-repositories.com/f/hardware-iot/mechanical-mounting-systems.md) — Provides standardized mounting adapters to align motor and sensor hardware.

### Development Tools & Productivity

- [Open-Source Haptic Hardware](https://awesome-repositories.com/f/development-tools-productivity/open-source-software/open-source-haptic-hardware.md) — A customizable input device platform that provides tactile feedback for software applications.

### System Administration & Monitoring

- [Virtual Detent Configuration](https://awesome-repositories.com/f/system-administration-monitoring/system-configuration-utilities/virtual-interface-configurations/virtual-detent-configuration.md) — Sets software-based click points and physical boundaries to emulate mechanical switches. ([source](https://github.com/scottbez1/smartknob/tree/master/software))

### Business & Productivity Software

- [Haptic Controller Assembly](https://awesome-repositories.com/f/business-productivity-software/mechanical-assembly-systems/haptic-controller-assembly.md) — Supports haptic controller assembly by combining motors, sensors, and housing components. ([source](https://github.com/scottbez1/smartknob/tree/master/cad))
