DRV2605L I2C Address Change

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
minotalen
 
Posts: 1
Joined: Tue Apr 25, 2017 4:33 pm

DRV2605L I2C Address Change

Post by minotalen »

Hello there!

First post, got a question right away. So I was planning to run two of the DRV2605 with an Arduino. For this, I will need to change the I2C address of one of them. In the manual it says to "first set the EN pin high".

Read into the wire library some more but sadly did not find a solution. Could anybody give me a hint?

Tried (several versions of) this code to no avail.

Code: Select all

#include <Wire.h>

#define CHANGE_ADDR_CMD  0xB4
#define DEFAULT_ADDR     0x5A
#define NEW_ADDR         0x5B // Value between 0x01 and 0x7E

void setup() {
  Wire.begin();
  Wire.beginTransmission(DEFAULT_ADDR);
  Wire.write(CHANGE_ADDR_CMD);
  Wire.write(NEW_ADDR);
  Wire.endTransmission();
}

void loop() {
  
}
From the TI manual:
"The DRV2605 is controlled by a series of I2C registers. To access these registers, first set the EN pin high and then use the 7-bit I2C address 0x5A. Table 2 shows the 7-bit address, the I2C read address, and the I2C write address."

//edit
So I suppose you didn't add the extra pin for EN. Does that mean there is no way to change the I2C address? Can I try accessing the pin directly from the VSSOP and if so, how would I go about it?
Really wouldn't like buying a different breakout :/

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: DRV2605L I2C Address Change

Post by adafruit_support_mike »

There's no way to change a DRV2605's I2C address, but you can use a TCA9548 I2C multiplexer to put multiple DRV2605s on separate buses:

https://www.adafruit.com/product/2717

User avatar
adriek
 
Posts: 1
Joined: Mon Jan 21, 2019 8:53 am

Re: DRV2605L I2C Address Change

Post by adriek »

With all due respect, I am dissapointed that the address cannot be changed. I would consider that a design flaw, or is there a specific reason for that?

User avatar
oesterle
 
Posts: 806
Joined: Tue Sep 17, 2013 11:32 pm

Re: DRV2605L I2C Address Change

Post by oesterle »

Hi, adriek.

You'll have to ask TI, who built only one I2C address into the DRV2605L: DRV2605L Haptic Driver for ERM and LRA with Built-In Library and Smart Loop Architecture | TI.com.

Fixed I2C addresses are still pretty common, even as lots of newer devices have configurable addresses.

BTW, Adafruit has a guide to the I2C addresses used by its devices: The List | I2C addresses! | Adafruit Learning System.

Cheers,

Eric

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”