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.

DRV8214: Device address

Part Number: DRV8214

Tool/software:

Hi, 

I’m having trouble establishing communication with the DRV8214 motor driver via I2C. I’ve configured the A0 and A1 pins to GND, which should result in a device address of 0x60 (according to the datasheet). However, when I run an I2C address scan, the device is detected at 0x30. Attempts to write to the device (e.g., sending a register address and data) fail with error code 1 (data too long). I’ve verified the pull-up resistors (2.2kΩ), wiring, and 3.3V power supply. Can someone clarify why the address differs or why the device might not respond with ACK? Any insights into resolving this would be appreciated!

I am using the Arduino Nano 33 BLE as my MCU. 

  • Hello,

    Are there any other devices you are connecting to on the same I2C lines? 

    If you are using the DRV8214EVM please be sure to flash the device with the most recent updated firmware and GUI from the product page. 

    DRV8214EVM Evaluation board | TI.com 

    Best,

    David

  • Hi David, 

    No, I do not have any other devices connected to the same I2C lines. Since I am using my Arduino board as the MCU for developing a custom motor control algorithm, I removed all the jumpers from the evaluation board and directly connected my Arduino board to the pins on the motor driver side. However, I encountered an issue where I couldn’t get a proper response from the driver; which is why I asked the question about the device address.

    Thanks!

  • Hi Zeng,

    Use the device address at 0x30. There is a bit shift that caused some confusion, from hex to binary. 

    Also make sure the Arduino and EVM have a common ground. Be careful if using the ground pin from jumper header between MCU and DRV, be sure to measure to make sure it isn't floating. 

    Best,

    David