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.

DRV2605LEVM-CT: DRV2605LEVM-CT RevA – I2C Control of Onboard ERM/LRA using External MCU

Part Number: DRV2605LEVM-CT
Other Parts Discussed in Thread: DRV2605L,

Hello,

I am using the DRV2605LEVM-CT (Rev A) along with an external MCU. I want to control the onboard ERM/LRA motor using I2C communication.

My goal is to:

  • Interface my external MCU with the DRV2605L device via I2C
  • Operate the already populated ERM/LRA motor on the EVM board

I referred to the available documentation and user guide, but I am not able to determine:

  1. What jumper configuration is required to use an external MCU instead of the onboard controller?
  2. What is the correct power supply configuration for standalone operation?
  3. Are there any specific settings required for ERM vs LRA selection on the EVM board?

Is there any example I2C register initialization sequence available for basic vibration playback?Currently, I am not getting any output from the motor via I2C commands.Could you please guide me on the correct hardware setup and minimum register configuration required to drive the onboard motor?

Thank you. 

  • To control the DRV2605LEVM-CT (Rev A) using an external MCU, you must bypass the onboard MSP430 microcontroller. The onboard ERM/LRA motor can then be driven via the I2C header using standard I2C communication. 
    1. Hardware Setup & Jumper Configuration
    To use an external MCU, you must isolate the onboard MSP430 from the DRV2605L driver.
    • Jumper Configuration: Remove the MSP-SCL and MSP-SDA jumpers (located near the USB connector) to disconnect the on-board microcontroller.
    • External I2C Connections: Connect your external MCU's SCL, SDA, and GND to the corresponding pins on the J2 (or "I2C") header.
    • Pull-up Resistors: Ensure your external I2C lines have 10k pull-up resistors to VDD
    • Power Supply: Power the board with 5V via the VBAT terminal block or through the USB port (ensure the jumper is set to USB if using USB power). 
    2. ERM vs. LRA Selection
    The DRV2605L must be configured for the specific motor type via I2C (Register 0x1A). 
    • ERM: Ensure bit 7 of register 0x1A is 0 (default).
    • LRA: Set bit 7 of register 0x1A to 1.
    • Calibration: If using the default soldered-on motors, they are pre-calibrated. If you connect a new motor, you must run the auto-calibration procedure (Registers 0x16-0x19). 
    3. I2C Initialization & Basic Vibration Sequence
    Use the following minimum register settings for basic operation:
    1. Device Reset: Write 0x80 to Register 0x01 (Mode).
    2. Wait 1ms (for reset to finish).
    3. Wake Up: Write 0x00 to Register 0x01 (Mode).
    4. Set Motor Type: Write 0x00 to Register 0x1A (Feedback Control) for ERM, or 0x80 for LRA.
    5. Enable Library: Write 0x00 to Register 0x03 (Library Selection) to select the ROM library.
    6. Set Mode: Write 0x00 to Register 0x01 (Internal Trigger Mode).
    7. Select Waveform: Write 0x01 (or other effect) to Register 0x04 (Waveform 1).
    8. Go: Write 0x01 to Register 0x0C (Go).