This Clever Dial Can Selectively Resist Motion and Provide Haptic Feedback

Scott Bezek's SmartKnob View uses a round LCD and brushless DC motor to provide users with programmable, degree-accurate haptic feedback.

Human input devices

Enabling computers to gather inputs from the humans using them has been an ongoing evolution of coming up with increasingly better and more interactive components. In the past, most people would have used simple buttons, switches, or potentiometers, whereas the dominate form of input device now are touchscreens, rotary encoders, and the humble button. Yet getting feedback from these systems can be a challenge, as merely including a simple haptic buzzer doesn't provide that much information. This challenge is what inspired Scott Bezek to create the SmartKnob View, which is an intelligent dial that utilizes an internal motor to create software-defined stops/resistance.

The hardware

The SmartKnob View is based around a single 32mm brushless DC motor that is able to briefly move the dial in the opposite direction of movement in order to provide force feedback. Its small size, built-in magnets for encoders, hollow shaft made it a perfect option for Bezek's project. Driving the motor is a TMC6300-LA, which can supply up to 1.2A of current while only taking up a tiny 3x3mm area on a PCB.

To let the dial know when it is being turned and by how much, Bezek opted to use an MT6701 magnetic encoder from MagnTek since it supports several I/O protocols and can respond quickly to changes in motion. The last two components were a round 240x240px LCD for showing graphics and an ESP32-PICO-V3-02 module that controls everything within the dial. Eight side-firing RGB LEDs were also included to illuminate the base of the SmartKnob View if desired.

Designing the SmartKnob View

Within Fusion 360, Bezek started his design by adding a back plate that is responsible for holding all of the components in place while simultaneously providing a panel that can be attached to some other surface securely. Just above it sits the PCB that contains the aforementioned ESP32, motor driver, encoder chip, and a MicroUSB plug for power delivery. The brushless DC motor sits directly in the center and connects to the outer rotor with a few screws. Meanwhile, the screen is attached to the base via a riser and small platform so that the outer dial can spin around it.

Fabrication

Although the parts Bezek produced were created in nylon with multi-jet fusion (MJF) printing for a better surface finish, he does note that they can be made from common fusion-deposition modelling (FDM) as well. Bezek also had to assemble two PCBs: the primary one at the base, which houses nearly all of the components, and a secondary display driver that takes incoming signals from the ESP32 and sends them to the round screen.

What can it do?

Now with the SmartKnob View fully assembled, Bezek created some simple demo software that shows what it is capable of doing. In his video, he is able to rotate the dial without any bounds while receiving small detents (tiny haptic 'taps') for each degree moved, as well as having the LEDs at the bottom change color on every press. Bounded movements cause the dial to resist moving beyond certain points, and the binary on/off switch causes the dial to snap into position once past the halfway point.

To read more about the SmartKnob View and see its design files/code, check out its GitHub repository here.

Evan Rust
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles