01 PROJECT HAPTIC.PADDLE
01 PROJECT HAPTIC.PADDLE
|
|
02
02
< Force-Feedback Haptic Switch >
< Force-Feedback Haptic Switch >
03
03
_ Spring 2026
_ Spring 2026
_
_
log.begin {
A motorized haptic device that simulates the feel of a physical bistable toggle switch. The paddle is held at one of two angular positions by a motor, and requires the user to apply force past a measurable threshold before it snaps to the opposite side. The resistance builds progressively as the user pushes, then releases all at once, mimicking the tactile snap of a real switch.
The project runs on a Raspberry Pi Pico 2W. The custom 3D printed paddle arm is driven by an MG996R servo through a DRV8833 H-bridge. An AS5600 magnetic encoder tracks paddle angle, a load cell paired with an HX711 24-bit ADC measures fingertip force, and an INA219 current sensor enables closed-loop motor control. A proportional position controller holds the paddle at each end stop, producing a linear spring-like resistance that grows with displacement. When the applied force crosses the threshold, the motor triggers a full-speed snap to the opposite position.
A Pygame frontend renders a live dashboard with a semicircular angle dial and a force bar, fading between light and dark themes each time the switch toggles.
"The lever knows when you mean it."
}
log.begin {
A motorized haptic device that simulates the feel of a physical bistable toggle switch. The paddle is held at one of two angular positions by a motor, and requires the user to apply force past a measurable threshold before it snaps to the opposite side. The resistance builds progressively as the user pushes, then releases all at once, mimicking the tactile snap of a real switch.
The project runs on a Raspberry Pi Pico 2W. The custom 3D printed paddle arm is driven by an MG996R servo through a DRV8833 H-bridge. An AS5600 magnetic encoder tracks paddle angle, a load cell paired with an HX711 24-bit ADC measures fingertip force, and an INA219 current sensor enables closed-loop motor control. A proportional position controller holds the paddle at each end stop, producing a linear spring-like resistance that grows with displacement. When the applied force crosses the threshold, the motor triggers a full-speed snap to the opposite position.
A Pygame frontend renders a live dashboard with a semicircular angle dial and a force bar, fading between light and dark themes each time the switch toggles.
"The lever knows when you mean it."
}
< view log >


