Creative Commons images are CC BY 2.0

Description: Ready to add some good vibes to your project? Look no further than the SparkFun Haptic Motor Driver. This board breaks out Texas Instruments' DRV2605L Haptic Motor Driver, which adds meaningful feedback from your devices using the breakout and an Arduino-compatible device.

The DRV2605L is capable of driving two different types of motors, ERM and LRA. It is important to know, however, that the default firmware for the DRV2605L is set for use with ERM type motors. We have created an Arduino library that makes the DRV2605L easy to use with six different ERM effects and one LRA effect.

The SparkFun Haptic Motor Driver breakout board features six pins to provide power to the sensor and I2C bus. Additionally, a microcontroller that supports I2C is required to communicate with the DRV2605L and relay the data to the user by means of vibration.

Get Started with the Haptic Motor Driver Guide


  • Flexible Haptic and Vibration Driver for both ERM and LRA type motors
  • I2C Controlled Digital Playback Engine
  • Audio to Vibe
  • PWM input with 0–100% Duty-Cycle Control Range
  • Hardware Trigger Input
  • Built-in Waveform Sequencer and Trigger


Recommended Products

Customer Comments

  • I wrote a desktop Java application that works with the DRV2605L to help preview the different vibration patterns mentioned in the datasheet. It can queue up to 7 patterns for sequential execution.

    It communicates with the Arduino over serial communication, so you need RXTX for Java to get going.

    Here are some links to the source code and executable, for those interested:

  • Does anyone have any suggestions for an LRA to use with this? I want to get “click” effects, and my thought is that an LRA would be better with these. However, you only sell and ERM, and I’m having trouble finding a reasonable source for LRAs. Alternatively, has anyone tried producing a “click” effect with an ERM?

    • I could only find one source for the LRA type motors which is why the hook-up guide and examples are for the more common ERM type. Precision Microdrives seems to be the best place to find LRA motors.

      As far as producing a “click” you can use the waveform function, with the ERM motor, to write the waveforms of 17-45 (see page 60 of the data sheet) to produce a custom clicking effect. You can also customize these with various ramping/timing effects as well.

  • It appears the schematic (and the example) have the Vdd miss wired. They show Vdd connected to the supply passing through a 1-µF capacitor in series. The data sheet says, “Vdd Supply input (2 to 5.2 V). A 1-µF capacitor is required.” As is typical, said capacitor should not be in series, but it is a bypass capacitor to ground.

  • Hi, I’ve downloaded DRV2605L Library from the site and also from Github but Arduino is not able to read it. It says that this library is not valid. Maybe is there an error? I’d need to fix this as soon as possible for my graduation project. Thanks

    • In the Arduino folder in your documents there is a sub-folder called “libraries”. In libraries create a new folder called SparkFun_DRV2605L. Place the .h and .cpp files from the github download in that folder. There is a link in the tutorial on how to install Arduino libraries and this is one of the examples.

  • What are your thoughts on motor voltage rating? The board when used with say an arduino 5V is often paired with 3V motors and I’m not sure that’s correct practice. I need a motor that will vibrate a metal detector shaft appropriately - do you have a recommendation?

    • You’re right–Not the correct practice. The ERM vibration motor we carry operates from 2.0V to 3.6V. It works perfectly off the regulated 3.3V power pin on the RedBoard. During the prototype and test phases I was able to get my hands on several ERM motor samples which could operate from 2V to 5V. The 5V motor vibrates with with a much stronger intensity which is why I used it in my foot massage application. Thank you for having a great eye so I could update this tutorial.

      As far as a recommendation…I’m not sure what the application is. Like silently feeling when you have detected metal on a beach? Which dev board do you currently use? If you only have one regulated output at a specific voltage then you should find a motor rated for that output. Depending on how much you need to feel the vibration I’d up the rating and the number of motors. But why not make a wrist band or pin it to your body? - It would be much easier to feel it that way.

  • Has anyone tried driving an Apple Taptic Engine with this? Is it possible to get the mating connector for it?

Customer Reviews

No reviews yet.

Related Tutorials

Haptic Motor Driver Hook Up Guide

January 19, 2017

Good vibes only. Getting started with the Haptic Motor Driver.