# Adafruit DRV2605L Haptic Controller Breakout

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/113/378/medium800thumb/adafruit_products_2305-05_1.jpg?1658412986)

The DRV2605 from TI is a fancy little motor driver. Rather than controlling a stepper motor or DC motor, it's 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.

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.

![](https://cdn-learn.adafruit.com/assets/assets/000/122/966/medium800/adafruit_products_2305-13.jpg?1690378143)

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.](https://www.adafruit.com/product/1201)

We added an onboard 3.3V regulator and logic-level shifting circuitry, making it a perfect choice for interfacing with any 3V or 5V microcontroller or computer, such as Arduino or Raspberry Pi. We've got both&nbsp;[Arduino (C/C++)](https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout/arduino-code)&nbsp;and&nbsp;[CircuitPython (Python 3) libraries](https://learn.adafruit.com/adafruit-drv2605-haptic-controller-breakout/python-circuitpython) available so you can use it with any microcontroller like Arduino, ESP32, Metro, etc, or with Raspberry Pi or other Linux computers, thanks to Blinka (our CircuitPython library support helper).

![](https://cdn-learn.adafruit.com/assets/assets/000/122/967/medium800/adafruit_products_2305-12.jpg?1690378154)

As if that weren't enough, we've also added[&nbsp;SparkFun qwiic](https://www.sparkfun.com/qwiic)&nbsp;compatible&nbsp;**[STEMMA QT](https://learn.adafruit.com/introducing-adafruit-stemma-qt)**&nbsp;connectors for the I2C bus&nbsp; **so you don't even need to solder.** &nbsp;For a no-solder experience,&nbsp;[just wire up to your favorite micro](https://www.adafruit.com/category/621)&nbsp;using a&nbsp;[STEMMA QT adapter cable.](https://www.adafruit.com/?q=stemma%20qt%20cable)&nbsp;The Stemma QT connectors also mean the breakout can be used with our&nbsp;[various associated accessories.](https://www.adafruit.com/?q=JST%20SH%204)&nbsp;[QT Cable is not included, but we have a variety in the shop](https://www.adafruit.com/?q=stemma+qt+cable&sort=BestMatch)

Info: 

![](https://cdn-learn.adafruit.com/assets/assets/000/113/379/medium800/adafruit_products_components_2305_kit_ORIG.jpg?1658413030)

# Adafruit DRV2605L Haptic Controller Breakout

## Pinouts

![](https://cdn-learn.adafruit.com/assets/assets/000/113/380/medium800/adafruit_products_double.jpg?1658413414)

![](https://cdn-learn.adafruit.com/assets/assets/000/113/385/medium800/adafruit_products_16043851551_170fc4a588_c.jpg?1658416798)

The default I2C address is&nbsp; **0x5A**.

## 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

- **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 Logic Pins

- **SCL&nbsp;** - I2C clock pin, connect to your microcontroller's I2C clock line. This pin has&nbsp; a&nbsp; **10K pullup** &nbsp;to VIN.
- **SDA&nbsp;** -I2C data pin, connect to your microcontroller's I2C data line.&nbsp;This pin has&nbsp; a&nbsp; **10K pullup** &nbsp;to VIN.
- [**STEMMA QT**](https://learn.adafruit.com/introducing-adafruit-stemma-qt) **&nbsp;-&nbsp;** These connectors allow you to connect to development boards with&nbsp; **STEMMA QT** &nbsp;connectors, or to other things, with[&nbsp;various associated accessories](https://www.adafruit.com/?q=JST%20SH%204).

## Motor Input

- **Motor Positive (+)** - positive input for a haptic motor
- **Motor Negative (-)** - negative input for a haptic motor

## Other

- **INT** - 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.

## Power LED and Jumper

- **Power LED -&nbsp;** In the upper left corner, above the STEMMA connector, on the front of the board, is the power LED, labeled **&nbsp;on**. It is the green LED.
- **LED jumper** &nbsp;- In the upper right corner on the back of the board is a jumper for the power LED. If you wish to disable the power LED, simply cut the trace on this jumper.

# Adafruit DRV2605L Haptic Controller Breakout

## Assembly

![](https://cdn-learn.adafruit.com/assets/assets/000/021/840/medium800/components_2305_kit_ORIG.jpg?1418852512)

## Prepare the header strip:

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

![components_header.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/832/medium640/components_header.jpg?1418852397)

## Add the breakout board:

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

![components_place.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/833/medium640/components_place.jpg?1418852403)

## 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://learn.adafruit.com/adafruit-guide-excellent-soldering)_)._

![components_solder1.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/834/medium640/components_solder1.jpg?1418852417)

![components_soldering.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/835/medium640/components_soldering.jpg?1418852427)

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

![components_done.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/836/medium640/components_done.jpg?1418852435)

## Attach Motor

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

![components_motorplace.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/837/medium640/components_motorplace.jpg?1418852466)

Solder in place

![components_motorsolder.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/838/medium640/components_motorsolder.jpg?1418852482)

Check your work and continue!

![components_motoron.jpg](https://cdn-learn.adafruit.com/assets/assets/000/021/839/medium640/components_motoron.jpg?1418852490)

# Adafruit DRV2605L Haptic Controller Breakout

## Arduino Code

# 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 - it's pretty simple stuff!

- Connect **Vin** to the power supply, **(red wire in STEMMA QT version)**. 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 **(black wire in STEMMA QT version)**
- Connect the **SCL** pin to the I2C clock **SCL** pin on your Arduino **(yellow wire in STEMMA QT version)**. 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**
- Connect the **SDA** pin to the I2C data **SDA** pin on your Arduino **(blue wire in STEMMA QT version)**. 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**
- **Controller Motor -&nbsp;** to&nbsp;**motor negative (black wire in STEMMA QT version).**
- **Controller Motor +&nbsp;** to&nbsp;**motor positive (red wire in STEMMA QT version).**

![adafruit_products_arduinoStemma_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/386/medium640/adafruit_products_arduinoStemma_bb.jpg?1658418564)

![adafruit_products_metroExpressBB_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/387/medium640/adafruit_products_metroExpressBB_bb.jpg?1658418604)

![adafruit_products_components_motordemo.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/388/medium640/adafruit_products_components_motordemo.jpg?1658418610)

# Install Adafruit\_DRV2605 Library

To begin controling the motor chip, you will need to install [the Adafruit\_DRV2605 Library](https://github.com/adafruit/Adafruit_DRV2605_Library). You can do that by going to the Arduino library manager under **Sketch -\> Include Library -\> Manage Libraries...**

![](https://cdn-learn.adafruit.com/assets/assets/000/049/721/medium800/adafruit_products_libmanager.png?1514506702)

Then search for DRV2605 and find the **Adafruit DRV2605 Library** and click **Install**

![](https://cdn-learn.adafruit.com/assets/assets/000/049/722/medium800/adafruit_products_Screenshot_1.png?1514506794)

We also have a great tutorial on Arduino library installation at:  
[http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use](http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use "Link: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use")

# Load Demo Sketch

Now you can open up **File-\>Examples-\>Adafruit\_DRV2605**** -\>basic** and upload to your Arduino wired up to the breakout.

![](https://cdn-learn.adafruit.com/assets/assets/000/021/842/medium800/components_sketch.png?1418852747)

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

![](https://cdn-learn.adafruit.com/assets/assets/000/021/844/medium800/components_console.png?1418853004)

The sketch will play all 123 built-in vibration effects in order. [The full list with names is available in the DRV2605 datasheet](http://www.adafruit.com/datasheets/DRV2605.pdf)

Here's a screenshot for quick reference

![](https://cdn-learn.adafruit.com/assets/assets/000/072/593/medium800/adafruit_products_DRV_Waveforms.png?1552347570)

# Multiple Waveforms

You can also string together multiple effects in a row, up to 7. Check out the **complex** example sketch, and `setWaveform` for each slot. The last slot should be set to 0 to indicate it's the end.

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

# Audio

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 DRV2605L Haptic Controller Breakout

## Arduino Docs

# Adafruit DRV2605L Haptic Controller Breakout

## Python & CircuitPython

It's easy to use the DRV2605 controller with Python or CircuitPython, and the&nbsp;[Adafruit CircuitPython DRV2605](https://github.com/adafruit/Adafruit_CircuitPython_DRV2605) module. This module allows you to easily write Python code that controls the vibration of the motor.

You can use this sensor with any CircuitPython microcontroller board or with a computer that has GPIO and Python [thanks to Adafruit\_Blinka, our CircuitPython-for-Python compatibility library](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).

# CircuitPython Microcontroller Wiring

First wire up a DRV2605 to your board exactly as shown on the previous pages for Arduino using an I2C connection.&nbsp; Here's an example of wiring a Feather M0 to the controller with I2C:

- **Board 3V** &nbsp;to&nbsp;**controller VIN (red wire in STEMMA QT version)**
- **Board GND** &nbsp;to&nbsp; **controller** **GND (black wire in STEMMA QT version)**
- **Board SCL** &nbsp;to&nbsp; **controller** **SCL (yellow wire in STEMMA QT version)**
- **Board SDA** &nbsp;to&nbsp; **controller** **SDA (blue wire in STEMMA QT version)**
- **Controller Motor -&nbsp;** to&nbsp;**motor negative (black wire in STEMMA QT version)**
- **Controller Motor +&nbsp;** to&nbsp;**motor positive (red wire in STEMMA QT version)**

![adafruit_products_featherStemma_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/389/medium640/adafruit_products_featherStemma_bb.jpg?1658418763)

![adafruit_products_featherBB_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/390/medium640/adafruit_products_featherBB_bb.jpg?1658418777)

![adafruit_products_m0_drv2605_bb.png](https://cdn-learn.adafruit.com/assets/assets/000/113/391/medium640/adafruit_products_m0_drv2605_bb.png?1658418802)

# Python Computer Wiring

Since there's _dozens_ of Linux computers/boards you can use we will show wiring for Raspberry Pi. For other platforms, [please visit the guide for CircuitPython on Linux to see whether your platform is supported](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux).&nbsp;

Here's the Raspberry Pi wired with I2C:

- **Pi 3V3** to **sensor VIN (red wire in STEMMA QT version)**
- **Pi GND** to **sensor GND (black wire in STEMMA QT version)**
- **Pi SCL** to **sensor SCL (yellow wire in STEMMA QT version)**
- **Pi SDA** to **sensor SDA (blue wire in STEMMA QT version)**
- **Controller Motor -&nbsp;** to&nbsp;**motor negative (black wire in STEMMA QT version)**
- **Controller Motor +&nbsp;** to&nbsp;**motor positive (red wire in STEMMA QT version)**

![adafruit_products_piBreadboard_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/392/medium640/adafruit_products_piBreadboard_bb.jpg?1658418948)

![adafruit_products_piStemma_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/393/medium640/adafruit_products_piStemma_bb.jpg?1658418972)

![adafruit_products_raspi_drv2605_i2c_bb.jpg](https://cdn-learn.adafruit.com/assets/assets/000/113/394/medium640/adafruit_products_raspi_drv2605_i2c_bb.jpg?1658418989)

# CircuitPython Installation of DRV2605 Library

You'll need to install the&nbsp;[Adafruit CircuitPython DRV2605](https://github.com/adafruit/Adafruit_CircuitPython_DRV2605)&nbsp;library on your CircuitPython board.

First make sure you are running the&nbsp;[latest version of Adafruit CircuitPython](../../../../welcome-to-circuitpython/installing-circuitpython)&nbsp;for your board.

Next you'll need to install the necessary libraries&nbsp;to use the hardware--carefully follow the steps to find and install these libraries from&nbsp;[Adafruit's CircuitPython library bundle](https://circuitpython.org/libraries).&nbsp; Our introduction guide has&nbsp;[a great page on how to install the library bundle](../../../../welcome-to-circuitpython/circuitpython-libraries)&nbsp;for both express and non-express boards.

Remember for non-express boards like the, you'll need to manually install the necessary libraries from the bundle:

- **adafruit\_drv2605.mpy**
- **adafruit\_bus\_device**

Before continuing make sure your board's lib folder or root filesystem has the&nbsp; **adafruit\_drv2605.mpy,&nbsp;** and **&nbsp;adafruit\_bus\_device**** &nbsp; **files and folders** &nbsp;**copied over.

Next[&nbsp;connect to the board's serial REPL](https://learn.adafruit.com/welcome-to-circuitpython/the-repl) so you are at the CircuitPython&nbsp; **\>\>\>** &nbsp;prompt.

# Python Installation of DRV2605 Library

You'll need to install the Adafruit\_Blinka library that provides the CircuitPython support in Python. This may also require enabling I2C on your platform and verifying you are running Python 3. [Since each platform is a little different, and Linux changes often, please visit the CircuitPython on Linux guide to get your computer ready](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux)!

Once that's done, from your command line run the following command:

- `sudo pip3 install adafruit-circuitpython-drv2605`

If your default Python is version 3 you may need to run 'pip' instead. Just make sure you aren't trying to use CircuitPython on Python 2.x, it isn't supported!

# CircuitPython & Python Usage

To demonstrate the usage of the board we'll initialize it and vibrate the motor using effects built-in to the DRV2605 chip.&nbsp; First run the following code to import the necessary modules and initialize the I2C connection with the controller:

```auto
import board
import busio
import adafruit_drv2605
i2c = busio.I2C(board.SCL, board.SDA)
drv = adafruit_drv2605.DRV2605(i2c)
```

Now you're ready to start vibrating the motor with different built-in effects.&nbsp; First you need to choose an effect to play based on its ID number.&nbsp; See [table 11.2 in the datasheet](http://www.adafruit.com/datasheets/DRV2605.pdf) for a list of all the effects:

![](https://cdn-learn.adafruit.com/assets/assets/000/072/594/medium800/adafruit_products_DRV_Waveforms.png?1552347698)

Each effect needs to be loaded into one of eight slots in the Waveform Sequencer:

![](https://cdn-learn.adafruit.com/assets/assets/000/073/544/medium800/adafruit_products_DRV2605_waveform_sequencer.jpg?1553215292)

You access the Waveform Sequencer by using the **sequence** property and providing an index for the slot location. To specify the effect, use the special **Effect** class provided in the library, giving it the effect number.

For example, here is how to load Effect ID No. 1 "Strong Click - 100%" into slot 0 of the sequence:

```auto
drv.sequence[0] = adafruit_drv2605.Effect(1)
```

To play the sequence of effects call the **play** function:

```auto
drv.play()
```

You should feel the motor vibrate in a sharp click!&nbsp; Every time you call the `play` function the motor will play back the sequence. Right now, that's just the click effected loaded into slot 0.

Try selecting a different effect and playing it, like the "Buzz 1 - 100%", a strong buzz, which is Effect ID 47:

```auto
drv.sequence[0] = adafruit_drv2605.Effect(47)
drv.play()
```

Try other effects to see which ones are interesting and useful in your project!

You can select multiple effects to play back at sequentially and create interesting compound effects. When you call `play`, the sequence is played until it either reaches a 0 or plays through all the slots. There's also a special `Pause` class you can use to generate a pause. You specify the pause time in seconds and it has to occupy a slot.

Let's play the two effects from above, separated by a half second pause:

```auto
drv.sequence[0] = adafruit_drv2605.Effect(1)
drv.sequence[1] = adafruit_drv2605.Pause(0.5)
drv.sequence[2] = adafruit_drv2605.Effect(47)
drv.sequence[3] = adafruit_drv2605.Effect(0)
drv.play()
```

The call to `play` is non-blocking, that is, it returns immediately and the rest of the code after that keeps running. The DRV2605 is doing the work of playing back the loaded sequence. If you ever want to stop the current playback, use the `stop` function:

```auto
drv.stop()
```

# Changing Motor Types

Finally it's uncommon but you might want to switch between using a linear resonance actuator motor or eccentric rotating mass motor.&nbsp; The small flat pancake motors like sold in the Adafruit shop are ERM motors and the library defaults to their usage.&nbsp; However you can call the `use_LRM` function to switch to configure the chip to use a LRM style motor:

```auto
drv.use_LRM()
```

You can also switch back to using an ERM style motor (the default) with the `use_ERM` function:

```auto
drv.use_ERM()
```

That's all there is to using the DRV2605 with CircuitPython!&nbsp; Happy motoring!

# Full Example Code

Here's a complete example of using the board to play the 123 effects for a half second each.&nbsp; Save this as main.py on your board and watch the REPL output to see the effect ID printed as it plays on the motor.

https://github.com/adafruit/Adafruit_CircuitPython_DRV2605/blob/main/examples/drv2605_simpletest.py

# Adafruit DRV2605L Haptic Controller Breakout

## Python Docs

# Adafruit DRV2605L Haptic Controller Breakout

## Downloads

## Files

- [EagleCAD PCB files on GitHub](https://github.com/adafruit/Adafruit-DRV2605-PCB)
- [Fritzing object (original version) in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20DRV2605L.fzpz)
- [Fritzing object (STEMMA QT version) in the Adafruit Fritzing Library](https://github.com/adafruit/Fritzing-Library/blob/master/parts/Adafruit%20DRV2605L%20Haptic%20Motor%20Controller%20-%20STEMMA%20QT.fzpz)
- [DRV2605L Datasheet](https://cdn-learn.adafruit.com/assets/assets/000/113/382/original/drv2605l.pdf?1658415948)
- [3D Models on GitHub](https://github.com/adafruit/Adafruit_CAD_Parts/tree/master/2305%20DRV2605L)

## Schematic and Fab Print STEMMA QT Version
![](https://cdn-learn.adafruit.com/assets/assets/000/113/383/medium800/adafruit_products_schem.png?1658416321)

![](https://cdn-learn.adafruit.com/assets/assets/000/113/384/medium800/adafruit_products_fab.png?1658416335)

## Schematic and Fab Print Original Version
![](https://cdn-learn.adafruit.com/assets/assets/000/021/846/medium800/components_schem.png?1418853486)

## Fabrication print

Dimensions in Inches

![](https://cdn-learn.adafruit.com/assets/assets/000/021/845/medium800/components_fabprint.png?1418853466)


## Featured Products

### Adafruit DRV2605L Haptic Motor Controller - STEMMA QT / Qwiic

[Adafruit DRV2605L Haptic Motor Controller - STEMMA QT / Qwiic](https://www.adafruit.com/product/2305)
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...

In Stock
[Buy Now](https://www.adafruit.com/product/2305)
[Related Guides to the Product](https://learn.adafruit.com/products/2305/guides)
### Vibrating Mini Motor Disc

[Vibrating Mini Motor Disc](https://www.adafruit.com/product/1201)
\*BZZZZZZZZZZ\* Feel that? That's your little buzzing motor, and for any haptic feedback project you'll want to pick up a few of them. These vibe motors are tiny discs, completely sealed up so they're easy to use and embed.  
  
Two wires are used to control/power the vibe....

Out of Stock
[Buy Now](https://www.adafruit.com/product/1201)
[Related Guides to the Product](https://learn.adafruit.com/products/1201/guides)
### STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 50mm Long](https://www.adafruit.com/product/4399)
This 4-wire cable is&nbsp;50mm / 1.9" long and fitted with JST SH female 4-pin connectors on both ends. Compared with the chunkier JST PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4399)
[Related Guides to the Product](https://learn.adafruit.com/products/4399/guides)
### JST SH 4-pin Cable with Alligator Clips - STEMMA QT / Qwiic

[JST SH 4-pin Cable with Alligator Clips - STEMMA QT / Qwiic](https://www.adafruit.com/product/4398)
This cable will make it super easy to use our plug-and-play STEMMA QT boards with boards like Circuit Playground. On one end you get a Qwiic / STEMMA QT connector (technically known as a JST SH 4-pin plug)&nbsp; into 4 individual wires with grippy alligator clips. We're carrying these to...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4398)
[Related Guides to the Product](https://learn.adafruit.com/products/4398/guides)
### STEMMA QT / Qwiic JST SH 4-Pin Cable - 200mm Long

[STEMMA QT / Qwiic JST SH 4-Pin Cable - 200mm Long](https://www.adafruit.com/product/4401)
This 4-wire cable is a little over 200mm / 7.8" long and fitted with JST-SH female 4-pin connectors on both ends. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4401)
[Related Guides to the Product](https://learn.adafruit.com/products/4401/guides)
### STEMMA QT / Qwiic JST SH 4-pin to Premium Male Headers Cable

[STEMMA QT / Qwiic JST SH 4-pin to Premium Male Headers Cable](https://www.adafruit.com/product/4209)
This 4-wire cable is a little over 150mm / 6" long and fitted with JST-SH female 4-pin connectors on one end and premium Dupont male headers on the other. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert...

In Stock
[Buy Now](https://www.adafruit.com/product/4209)
[Related Guides to the Product](https://learn.adafruit.com/products/4209/guides)
### STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long

[STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long](https://www.adafruit.com/product/4210)
This 4-wire cable is a little over 100mm / 4" long and fitted with JST-SH female 4-pin connectors on both ends. Compared with the chunkier JST-PH these are 1mm pitch instead of 2mm, but still have a nice latching feel, while being easy to insert and remove.

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/4210)
[Related Guides to the Product](https://learn.adafruit.com/products/4210/guides)

## Related Guides

- [Star Trek Data Dispenser](https://learn.adafruit.com/star-trek-data-dispenser.md)
- [Haptic Headband](https://learn.adafruit.com/haptic-headband.md)
- [BLE Buzzy Box](https://learn.adafruit.com/ble-buzzy-box.md)
- [I2C Addresses and Troublesome Chips](https://learn.adafruit.com/i2c-addresses.md)
- [BLE Vibration Bracelet](https://learn.adafruit.com/ble-vibration-bracelet.md)
- [Severance Portable Macrodata Refinement Terminal](https://learn.adafruit.com/portable-macrodata-refinement-terminal.md)
- [LLM Agent Embodiment Kit](https://learn.adafruit.com/llm-agent-embodiment-kit.md)
- [Cheekmate - a Wireless Haptic Communication System](https://learn.adafruit.com/cheekmate-wireless-haptic-communication.md)
- [Adafruit nRF52 Pro Feather with Mynewt](https://learn.adafruit.com/adafruit-nrf52-pro-feather.md)
- [Talking HAL 9000 with RP2040 Prop Maker Feather](https://learn.adafruit.com/hal-9000-rp2040-prop-maker.md)
- [Adafruit AW9523 GPIO Expander and LED Driver](https://learn.adafruit.com/adafruit-aw9523-gpio-expander-and-led-driver.md)
- [NeoPixel Infinity Mirror Coaster](https://learn.adafruit.com/infinity-mirror-coaster.md)
- [Adafruit PowerBoost 500 + Charger](https://learn.adafruit.com/adafruit-powerboost-500-plus-charger.md)
- [Adafruit 3.5" Capacitive Touch TFT FeatherWing](https://learn.adafruit.com/adafruit-3-5-capacitive-touch-tft-featherwing.md)
- [Adafruit ESP32-S3 Feather](https://learn.adafruit.com/adafruit-esp32-s3-feather.md)
