CircuitPython module for the DRV2605 haptic feedback motor driver. See examples/ for a demo of the usage.

  • Author(s): Tony DiCola
class adafruit_drv2605.DRV2605(i2c, address=<sphinx.ext.autodoc._MockObject object>)[source]

TI DRV2605 haptic feedback motor driver module.


Get and set the library selected for waveform playback. Should be a value of: - LIBRARY_EMPTY: Empty - LIBRARY_TS2200A: TS2200 library A (the default) - LIBRARY_TS2200B: TS2200 library B - LIBRARY_TS2200C: TS2200 library C - LIBRARY_TS2200D: TS2200 library D - LIBRARY_TS2200E: TS2200 library E - LIBRARY_LRA: LRA library See the datasheet for the meaning and description of effects in each library.

Get and set the mode of the chip. Should be a value of:
  • MODE_INTTRIG: Internal triggering, vibrates as soon as you call play(). Default mode.
  • MODE_EXTTRIGEDGE: External triggering, edge mode.
  • MODE_EXTTRIGLVL: External triggering, level mode.
  • MODE_PWMANALOG: PWM/analog input mode.
  • MODE_AUDIOVIBE: Audio-to-vibration mode.
  • MODE_REALTIME: Real-time playback mode.
  • MODE_DIAGNOS: Diagnostics mode.
  • MODE_AUTOCAL: Auto-calibration mode.

See the datasheet for the meaning of modes beyond MODE_INTTRIG.


Play back the select effect(s) on the motor.

set_waveform(effect_id, slot=0)[source]

Select an effect waveform for the specified slot (default is slot 0, but up to 7 effects can be combined with slot values 0 to 6). See the datasheet for a complete table of effect ID values and the associated waveform / effect.


Stop vibrating the motor.


Use an eccentric rotating mass motor (the default).


Use a linear resonance actuator motor.