0% found this document useful (0 votes)
87 views20 pages

Adafruit Drv2605 Haptic Controller Breakout

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 20

Adafruit DRV2605 Haptic Controller Breakout

Created by lady ada

Last updated on 2016-10-07 05:12:18 PM UTC


Guide Contents

Guide Contents 2
Overview 3
Pinouts 6
Power Pins 6
I2C Pins 7
Other! 7
Assembly 8
Prepare the header strip: 8
Add the breakout board: 9
And Solder! 10
Attach Motor 11
Wiring & Test 13
Wiring for Arduino 13
Download Adafruit_DRV2605 14
Load Demo Sketch 14
Multiple Waveforms 17
Audio 17
Downloads 19
Datasheets 19
Schematic 19
Fabrication print 19

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 2 of 20


Overview

The DRV2605 from TI is a fancy little motor driver. Rather than controlling a stepper motor
or DC motor, its designed specifically for controlling haptic motors - buzzers and vibration
motors. Normally one would just turn those kinds of motors on and off, but this driver has
the ability to have various effects when driving a vibe motor. For example, ramping the
vibration level up and down, 'click' effects, different buzzer levels, or even having the
vibration follow a musical/audio input.

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 3 of 20


This chip is controlled over I2C - after initialization, a 'string' of multiple effects can be
strung together in the chips memory and then triggered to actuate in a row. The built in
effects are much much nicer than just 'on' and 'off' and will make your haptic project way
nicer feeling.

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 4 of 20


According to the product page, it can be used with both LRA (Linear Resonance Actuator)
and ERM (Eccentric Rotating Mass) type motors but we have only used it with our little
vibration pancake ERM. (http://adafru.it/dDc)

We put this nice chip onto a breakout board. it works with both 3V and 5V power/logic, we
have code specifically for Arduino but porting it to any I2C-capable processor should be
quite simple. Check it out and get buzzing!

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 5 of 20


Pinouts

Power Pins
The motor driver/controller on the breakout requires 3-5V power. You can use either,
whichever logic level you use on your embedded processor

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 6 of 20


Vin - To power the board, give it the same power as the logic level of your
microcontroller - e.g. for a 5V micro like Arduino, use 5V
GND - common ground for power and logic

I2C Pins
SCL - I2C clock pin, connect to your microcontrollers I2C clock line. This pin can be
used with 3V or 5V logic, and there's a 10K pullup on this pin.
SDA - I2C data pin, connect to your microcontrollers I2C data line. This pin can be
used with 3V or 5V logic, and there's a 10K pullup on this pin.

Other!
IN/TRIG - This is a general purpose pin that can be used for a couple different uses.
One use is to read analog audio in to control the audio-to-haptic code. Another use is
to 'trigger' the effects to go rather than sending a I2C command.

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 7 of 20


Assembly

Prepare the header


strip:

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 8 of 20


Cut the strip to length if
necessary. It will be easier to
solder if you insert it into a
breadboard - long pins down

Add the breakout


board:
Place the breakout board over
the pins so that the short pins
poke through the breakout pads

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 9 of 20


And Solder!
Be sure to solder all pins for
reliable electrical contact.

Solder the longer power/data


strip first

(For tips on soldering, be sure to


check out our Guide to Excellent
Soldering (http://adafru.it/aTk)).

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 10 of 20


You're done! Check your solder
joints visually and continue onto
the next steps

Attach Motor
We prefer to attach the little
vibration motor directly to the
Motor+ and Motor- pads

Solder in place

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 11 of 20


Check your work and continue!

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 12 of 20


Wiring & Test
Wiring for Arduino
You can easily wire this breakout to any microcontroller, we'll be using an Arduino. For
another kind of microcontroller, just make sure it has I2C capability, then port the code - its
pretty simple stuff!

Connect Vin to the power supply, 3-5V is fine. Use the same voltage that the
microcontroller logic is based off of. For most Arduinos, that is 5V
Connect GND to common power/data ground
Connect the SCL pin to the I2C clock SCL pin on your Arduino. On an UNO & '328
based Arduino, this is also known as A5, on a Mega it is also known as digital 21 and
on a Leonardo/Micro, digital 3

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 13 of 20


Connect the SDA pin to the I2C data SDA pin on your Arduino. On an UNO & '328
based Arduino, this is also known as A4, on a Mega it is also known as digital 20 and
on a Leonardo/Micro, digital 2

Download Adafruit_DRV2605
To begin controling the motor chip, you will need todownload the Adafruit_DRV2605
Library from our github repository (http://adafru.it/eh0). You can do that by visiting the
github repo and manually downloading or, easier, just click this button to download the zip

Download Adafruit_DRV2605 Library


http://adafru.it/eh1

Rename the uncompressed folder Adafruit_DRV2605 and check that the


Adafruit_DRV2605 folder contains Adafruit_DRV2605.cpp and Adafruit_DRV2605.h

Place the Adafruit_DRV2605 library folder your arduinosketchfolder/libraries/ folder.


You may need to create the libraries subfolder if its your first library. Restart the IDE.

We also have a great tutorial on Arduino library installation at:


http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use (http://adafru.it/aYM)

Load Demo Sketch


Now you can open up File->Examples->Adafruit_DRV2605->basic and upload to your
Arduino wired up to the breakout

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 14 of 20


Open up the serial console and hold the vibration motor between your fingers.

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 15 of 20


The sketch will play all 117 built in vibration effects in order.The full list with names is
available in the DRV2605 datasheet (http://adafru.it/eh2)

Here's a screenshot for quick reference

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 16 of 20


Multiple Waveforms
You can also string together multiple effects in a row, up to 7. Check out thecomplex
example sketch, and setWaveform for each slot. The last slot should be set to 0 to indicate
its the end.

When you are ready to place the full waveform sequence, send thego() command!

Audio

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 17 of 20


You can also turn the DRV2605 into an audio-to-vibration driver. Use a 1uF capacitor in
series to line level voltage audio into the IN pin, then load up the audio example sketch. If
you don't feel anything, try boosting up the source audio volume, it has to be pretty loud!

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 18 of 20


Downloads
Datasheets
DRV2605 Datasheet (http://adafru.it/eh2)
EagleCAD PCB files on GitHub (http://adafru.it/oEt)
Fritzing object in the Adafruit Fritzing Library (http://adafru.it/aP3)

Schematic
Click to embiggen

Fabrication print

© Adafruit Industries https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout Page 19 of 20


Dimensions in Inches

© Adafruit Industries Last Updated: 2016-10-07 05:12:17 PM UTC Page 20 of 20

You might also like