I²C Haptic Controller
Haptic feedback is everywhere now, made popular by smartphones.
So I decided to include a haptic controller on my General Purpose 3.5" Screen to improve the user experience on the capacitive touch screen. |
Hardware
The haptic controller is the DRV2605L from Texas Instruments, connected through I²C. It features self-calibration, and drives either an eccentric rotating motor (ERM) or a linear resonant actuator (LRA). Surprisingly, LRAs were very difficult to find.
Soldering the controller with 0.5 mm pitch was made possible thanks to an electronic oscilloscope. |
|
Software
Adding haptic feed-back to the LCD_GUI library was very easy. The DRV2605L includes a library of 123 different effects, with 5 variants for ERM and one variant for LRA.
Adafruit provides a detailed documentation on the DRV2605L and a library for the Wiring / Arduino / Energia SDK. Right: The DRV2605L tested with an eccentric rotating motor (ERM) |
Three Options for the Motor
There are two main families of motors for haptic feedback:
Right: The two haptic devices. Left, the linear resonant actuator (LRA); right, the eccentric rotating motor (ERM) |
Eccentric Rotating Motor
On an eccentric rotating motor (ERM), the motor rotates an unbalanced mass, thus creating a vibration on the X-Y axis.
After some search, I managed to get a linear resonant actuator (LRA). Although smaller, the LRA provides a stronger and cleaner haptic feed-back, as it operates on the Z-axis only. Right: The DRV2605L breakout board from Adafruit driving an eccentric rotating motor (ERM) |
Linear Resonant Actuator
On an linear resonant actuator (LRA), the motor moves a mass against a spring, thus creating a vibration focused on the Z axis.
After just changing a couple of settings, the DRV2605L drove the LRA effortlessly. I also tried the self-calibration, but didn't notice a strong difference from the default settings. Right: The DRV2605L tested with a linear resonant actuator (LRA) |
Taptic Engine for iPhone 6s
Conclusion
Links
|
Posted: March 20, 2018
Updated: March 23, 2018; April 20, 2018; June 04, 2018; August 4, 2018
Updated: March 23, 2018; April 20, 2018; June 04, 2018; August 4, 2018