Wearables and dozens of other consumer electronic devices make use of vibro-tactile feedback to enhance the level of user interaction. The most popular hardware frequently used to provide haptic feedback is the ‘Pancake Motor’.
Pancake motor is a shaftless vibration motor which can be purchased from almost all online vendors including eBay and Amazon. The vibration mechanism and all moving parts of the motor is protected within the metallic housing of the motor. For sturdiness, the motor wires are reinforced and there is an adhesive on its back surface. The motor will vibrate considerably when supplied with 3V.
As stated, pancake motor is the most common type of eccentric rotation mass (ERM) motor inside of consumer electronic devices used to provide perceptible vibration to a user. Since the mechanism of the motor is very simple, they come in a variety of shapes, sizes, and operating characteristics. In this article, I will show how to build a haptic feedback module for vibrating objects using a commonly available pancake motor.
- Pancake Motor x1
- S8050 Transistor x1
- 1N4148 Diode x1
- 2K2 ¼ w Resistor x1
- 100nF Capacitor x1
The haptic feedback module circuit is shown below (also see my dirty prototype):
Even though the pancake motor works well with a dc supply of 3V, driving it directly by an I/O of a microcontroller is very unsafe. This is because the pancake motor not only draws current in 75-100mA range (3-5V), but also produces large voltage spikes and noises (harmful to the microcontroller). This is the reason, why you can see the driver transistor (T1) and associated components (R1-C1-D2) in the circuit diagram.
After the first build, I was in the market for pre-wired ‘luxury’ haptic feedback modules, and ended up with nothing (what happened to china’s module makers?). So, naturally, I wanted to see if I could do better, and designed another version of my haptic feedback module. The revision offers some additional features such as status indicators, input with galvanic-isolation, etc. Here is the end result, for now.
Note that with a microcontroller such as Arduino we have so many options to run this haptic feedback module. There are many variations which can be done, including the pancake motor respond roughly to a certain action such as motion being detected, or provides different haptic-patterns for different actions. Likewise, the perceptible impact of the motor can be controlled using a pulse-width modulated (PWM) signal that rapidly turns the motor on and off with a specific duty cycle.