This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV2605: How to achieve a better driving power

Part Number: DRV2605
Other Parts Discussed in Thread: DRV2604, , DRV2603


We get the samples of DRV2604, and DRV2605 and checking the output frequency with microscope, the output waveform from the IC is as belows. It is not a sine wave, is it correct?

The vibration strength is not good as we expected. We also notice that the current draw is lower than previous one when we are using DRV2603.


Now, we are using 70% PWM (our software set the Real-Time Playback Input (Address 0x02 with vlaue of 88 decial).

Even we try to set 100% PWM, the driving strength is still not good as we expected.

There are many register can be set in the IC, now we have set 


LOOP_GAIN = 1 Medium (default)

BEMF_GAIN =2, 20x (default)


Any register setting will have greater effect to the driving power? Can u give some better suggestion for this?

  • Hello,

    You need to be setting RATED_VOLTAGE and/or OD_CLAMP voltage as well as putting in closed-loop if this is LRA

    Also that zoomed in portion is not signal, it is PWM switching frequency of Class D output amplifier. You would need to use Low-Pass filter to see sinusoidal output.

    Review register settings and datasheet more closely and it will allow you to understand the expanded capabilities of I2C interface over the DRV2603

    LOOP and BEMF gain do not affect output power.

    Best Regards,


  • Hi Carson,

    For both RATED_VOLTAGE & OD_CLAMP, we are using default value 0x3F & 0x89.


    We are suuply 3V to the driver IC DRV2604 and DRV2605, what value should be set in these 2 register?

    Is it we set a higher value, we can increase the output power?

    The schematic is as follows:


    Best Regards

  • If you give higher voltage supply and then increase the RATED_VOLTAGE/OD_CLAMP you will then have a higher voltage at output and with a load that is being kept constant you will then be driving more power.

    You should increase the parameters based on formulas on p.22 and 23 of DRV2605 datasheet. Make sure neither value exceeds voltage supply and OD_CLAMP should be larger than RATED_VOLTAGE but this also depends on the mode you are running device in (open or closed loop) and the type of actuator is being driven (LRA or ERM)

    But also if you are driving LRA you need to make sure it is at resonant frequency so that the LRA itself is in a state of being able to draw maximum power from the device, which can done via closed-loop control of the device which automatically drives an LRA at its resonant frequency.

    If it is ERM you drive then open vs closed loop does not matter for power.



  • Hi Carson,

    Thanks a lot, but now we have a new problem. We found one issue that, after we do the auto calibration process, we save the parameters to our memory, BEMF_GAME, A_CAL_COMP, A_CAL_BEMF, DIAG_RESULT.


    When we startup our watch again, we will re-write these 4 paramters to the driver IC, it works when VDD of the driver IC is kept.


    However, when we remove the power (the driver IC is being reset), after we re-write the above parameter to the driver, vibration strength become very weak. We have to do the auto-calibration again.


    How can we keep the original calibration parameters without doing the re-calibration again.


    On the data sheet, there is One-Time Programmable (OTP) memory for configuration, can we use this OTP to save the calibration parameters.


    Best Regards

  • Hello,

    You could use OTP for saving auto-cal but this does not seem to be why on restart vibration becomes weak. Are you making sure all other parameters like RATED_VOLTAGE, OD_CLAMP and mode of operations are being rewritten to their respective registers as well?, like it is not just auto-cal parameters that are important here for being saved.

    Also how short are your vibration effects that you start to play on the watch?

    Best Regards,


  • Also ensure you actually give device time to power back up on restart before sending communication. You should verify that registers are actually being written to by doing a read if possible.