Haptics drivers from TI - DRV2605

Hi All, I’m trying to use DRV2605 from TI without any luck. Used datasht circuit and chked with Adafruit and Sparkfun breakouts. Get no response from either Arduino Nano sketches! need some expert advice, programming is not my strong point

Hi @paul20, which DRV2605 break-out board are you utilizing for your project?

Adafruit has a nice example here, showing how to test with the basic example:

Can you share your work in progress schematic, or even a picture of your wiring setup? That could help diagnose your issue.


Hi Robert, I was unaware of the boards when I ordered DRV8601 and 2605 from YKWho. The Cct I’m using is same as both Sparkfun and Adafruit, power and i2c. Uploaded ada and spark sketches on Nano, but get no action. Ive prepped 2x DRV8601 and 4x DRV2605 on purpose made pcb for breadboard. Im now stuck
rgds, Paul

I don’t knot how to include drawings etc.

@paul20, you can attache most *.pdf or images by clicking in:



Thanks, will do!

DRV2605 Cct.pdf (56.0 KB)
This is what I’m using

All C’s 1uF, All R’s 10K
I want to use smd ATtiny85 in place of the Nano to drive the 2605, as the PCB must be no bigger than 12 mm X 20 mm. The (now disused) ERM (555) board is 12 mm X 11 mm. This is a medical project.

@paul20, which AVR, do you have physically connected to the DVR2605 today?

The Arduino Nano usually is an ATmega328 (with a real dedicated i2c port). While the ATtiny85 has a fake i2c (thru the USI peripheral), the ATtiny family need external pull-up’s when using the i2c mode (the internal AVR i/o pull-up can not be used on this device family with USI/I2C mode…)…

If your design is using the ATtiny85 today, you need to look at ATTinyCore, (if your using Arduino)…

Here are some migration notes:


Thanks for that Robert and Spence. Right now I want to do the easiest path to getting theDRV to work - and that is why I chose the Nano route initially. So lets stay with the Nano, Guys. Later the conversion to ATtiny will actually be simpler.

Hi Robert, I made a mistake above! Apologies - afterall I am 81! Got some progress. Loaded the Adafruit sketch agn and the serial monitor shows the “DRV test” and the Nano stops there, I unplug the i2c wires and the program happily runs on the monitor. Reset starts it over. Seems the DRV is not accepting the info. I also did a scan of the i2c addresses on the system and intermittently comes up with 0x5A, which is correct. I used the scanner in IDE examples, but why intermittently?
At least some progress

HI Paul, no worries! This smells like a bus lockup, do you have any equipment to watch the SDA line (to see if the Adruino is holding the SDA line low…)? But let’s also quickly verify the i2c lines didn’t get reversed. Switching out the 10K resistors for 4.7K resistors might be an option, but let’s save that as a last resort…


It would seem the DRV is not (able or bothering to) send the ACK to the Nano to get out of STANDBY mode. Is the Library Wire.h up to date? Or is there another version to be used?

I have a scope. I noticed before that the SDA line stays low with +ve going data.

The Adafruit library seems pretty up to date: https://github.com/adafruit/Adafruit_DRV2605_Library/commits/master

Ignore my last, I’ll check again

The bus lines are hi with the signalling going low. Ok abt the library.

Hi @paul20, just a quick update on this, i was able to get some parts from work for comparsion.

Adafruit DRV2605L: https://www.digikey.com/product-detail/en/adafruit-industries-llc/2305/1528-1346-ND/5356831
Adafruit Vibration ERM MTR: https://www.digikey.com/product-detail/en/adafruit-industries-llc/1201/1528-1177-ND/5353637
Arduino Nano (mega328p): https://www.digikey.com/product-detail/en/arduino/A000005/1050-1001-ND/2638989

Using the Adafruit DRV2605 Library with the Basic example works fine.



I rebuilt the circuit on a copperless “vero” board (for wire-wrap) soldering every wire-wrap joint. The unit does the same thing - on power-up or reset, the internal (pin13) LED flashes once (as it should), the TX LED gives one very half-hearted flash, the serial monitor prints “DRV test”, then nothing. Supply voltage 4.8 from Nano 5v pin, bypassed with 1uF at DRV2605 and 10uF at feed-point. Pullup R =10K on bus lines.

It did not work either. Then I replaced the DRV chip, and connected an ERM in place of LRA. Uploaded pgm and the vibrator ran without stopping. Suddenly everything died, Nano and motor. Voltage measured 1.3. Cut away DRV and volts returned to 4.9. DRV chip has popped, but wasn’t hot! We need to alter program to drive an LRA !!!