I have a linear resonant actuator like this one: https://www.gearbest.com/other-accessories/pp_670798.html I need to control its frequency of vibration and for that I intend to use a potentiometer and an arduino to control de supply voltage and hence vary the frequency of vibration. But first of all I need to know how to measure the frequency so that I can adapt it to my purpose.

I am thinking of attaching a piezo sensor to the motor and with the arduino determine the period and hence the frequency of the signal produced when the piezo vibrates alongside with the LRA. Therefore I have some questions:

  1. Is my idea possible or is it nonsense?

  2. Can you please tell me if the tension produced when the piezo vibrates is sinusoidal and if so is the frequency proportional to the frequency of vibration of the motor?

  3. I need to reduce the tension produced to the levels of the arduino functioning tension but if I use a resistor of 1M Ohm will not that function as a filter and affect the signal?

  • \$\begingroup\$ Tension=voltage. \$\endgroup\$
    – JRE
    Commented Feb 13, 2018 at 20:34
  • \$\begingroup\$ define motor, frequency and level of vibration, range of control and preference for analog or digital control. Easiest to control with filter and PLL to track frequency of vibration but not amplitude. You need to know all these transfer functions for a perfect design. All inputs and electrical/physical outputs. Normally LRA has physical resonance with some tolerance. precisionmicrodrives.com/sites/default/files/styles/… if you want to maximize, then say so \$\endgroup\$ Commented Feb 13, 2018 at 20:34
  • \$\begingroup\$ This is the better way to drive then no frequency detection needed ti.com/general/docs/lit/… \$\endgroup\$ Commented Feb 13, 2018 at 20:43
  • \$\begingroup\$ if you have a smartphone, download a guitar tuner app, or generic sound frequency measuring app (some of which have a frequency spectrum analyzer function) \$\endgroup\$
    – jsotola
    Commented Feb 13, 2018 at 21:38
  • \$\begingroup\$ Take note of the resonant frequency of the piezo sensor so that it does not confound your measurements. Add mass to sensing element to make it more sensitive, remove mass if it starts to hit mechanical stops or exceed operating limits. Using a input resistor and diode clamps is a good idea. Amplification may be required. Making your own unbalanced motor is also an option. \$\endgroup\$
    – KalleMP
    Commented Jun 25, 2018 at 20:01

1 Answer 1


It is possible but not necessary.

The best way is to drive like a MEMS or Xtal resonator which uses EMF current sensing to drive at resonant frequency. TI's solution is the DRV2605. It comes with other features to reduce energy consumption, and fast start stop etc.


  • \$\begingroup\$ I read here: ti.com/lit/ds/symlink/drv2605.pdf that the recomended LRA frequency range is between 125 and 300 Hz. Is it not possible to put the LRA vibrating at lower frequencies, for example, between 35 and 150 Hz? \$\endgroup\$ Commented Feb 13, 2018 at 22:18
  • \$\begingroup\$ No each part is designed for one frequency but drifts with age so it must only be used at one for efficient use. At resonance Q is > 12 so 12x more efficient than any other frequency \$\endgroup\$ Commented Feb 13, 2018 at 22:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.