What is STEMMA?

You may have noticed that starting in 2018, a lot of Adafruit development boards have connectors that look like this:

We call these STEMMA connectors - technically they are called 3 and 4 pin JST PH connectors. They're our way of making it easy to plug-n-play various sensors and devices without a lot of wiring. Especially with the board isn't breadboard-friendly, as above.

The idea is that by having easy-to-plug cables, you can wire up things without soldering, wiring and complexity. For example, here's a STEMMA soil sensor.

Adafruit STEMMA Soil Sensor - I2C Capacitive Moisture Sensor

PRODUCT ID: 4026
Most low cost soil sensors are resistive style, where there's two prongs and the sensor measures the conductivity between the two. These work OK at first, but eventually...
$7.50
IN STOCK

As you can see, the soil sensor has a matching 4-pin JST PH connector on the end.

The sensor is well suited to using a cable connection - its an I2C sensor so needs 4 pins, and you will want to stick it into a plant, so it makes sense to have it on a cable!

Plugging in the sensor is easy, you just need to connect a JST-to-JST cable. So for example, you can make a IoT plant monitor with the two parts above with no soldering or special wiring.

STEMMA connector types

There are THREE different STEMMA connectors you will see:

  • STEMMA 4 Pin JST PH - These are larger 2.0mm pitch connectors
  • STEMMA 3 Pin JST PH

STEMMA 4 Pin JST PH - These are larger 2.0mm pitch connectors

They are for I2C use!

STEMMA 3 Pin JST PH - These are larger 2.0mm pitch connectors

They are for PWM/Analog/Digital use!

STEMMA QT ('cutie') 4 Pin JST SH - These are smaller 1.0mm pitch connectors

They are for I2C use when the larger JST PH connectors won't fit on a small sensor board!

What is STEMMA QT?

We like the JST PH 2.0mm pitch cables because they are cross-compatible with Grove/Gravity. But they're a bit large for smaller breakout boards and wearables. So, for smaller I2C devices, we'll use the JST SH that SparkFun Qwiic uses, so that Qwiic & STEMMA QT sensors are cross-compatible!

STEMMA QT devices keep the level shifting/regulator, so you can use STEMMA QT with Grove/Gravity/STEMMA/Qwiic controllers at any voltage range, safely!

Here's an example of a STEMMA QT sensor board. You can use it with any Qwiic board or device!

You can see how the larger cables are way bigger, and we can't keep the sensor boards nice and 'cutie' without the smaller QT connectors

STEMMA QT ('cutie') 4 Pin JST SH - These are smaller 1.0mm pitch connectors

They are for I2C use when the larger JST PH connectors won't fit on a small sensor board!

Technical Specs

Here are some technical specs if you'd like to make devices and sensors that work with STEMMA

STEMMA 4-Pin I2C (both standard & STEMMA QT)

This connector is for I2C devices and has a 4 pin connector, in either 2.0mm or 1.0mm pitch

  1. Black for GND
  2. Red for V+
  3. White for SDA
  4. Green for SCL

JST PH 4-Pin to Male Header Cable - I2C STEMMA Cable - 200mm

PRODUCT ID: 3955
This cable will let you turn a JST PH 4-pin cable port into 4 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with any...
$1.50
IN STOCK

For the STEMMA QT cables, we follow the Qwiic convention:

  1. Black for GND
  2. Red for V+
  3. Blue for SDA
  4. Yellow for SCL

Note the colors are slightly different for SDA/SCL but the pin order is the same

JST SH 4-Pin to Premium Male Headers Cable - Qwiic Compatible

PRODUCT ID: 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...
$0.95
IN STOCK

Power Lines

Ground is easy, thats the power and data reference ground.

V+ can be anything from 3-5V DC. I2C devices must accept 3-5V DC and must use a regulator if the device requires 3V or less power voltage! I2C controllers may provide 3 or 5V.

The reason we don't force 3.3V is that there are some high-current controlled devices (servos, RGB LEDs) that may benefit from having a high voltage/current availability.

Data Lines

SDA and SCL are the classic I2C data lines. The I2C device is expected to have pullups from SDA & SCL to V+. For that reason, both sides (I2C controller and I2C device) must be OK with 3-5V logic level and must implement I2C level shifting to the desired final voltage of the controller/device

The reason we don't go with the simple 3.3V logic level is that there are still a lot of folks using 5V logic devices like the Arduino UNO, level shifting is incredibly inexpensive (4 x 10K resistor pack + dual BSS138 is very compact and 10 cents total), and level shifting provides a bit of line level protection from reverse polarity, or overvolting. It's a little more effort but we think it's essential for a good experience.

STEMMA 3-Pin Analog/Digital/PWM

This connector is for Analog/Digital/PWM devices and has a 3 pin 2.0mm connector

  1. Black for GND
  2. Red for V+
  3. White for Signal

JST PH 3-Pin to Male Header Cable - 200mm

PRODUCT ID: 3893
This cable will let you turn a JST PH 3-pin cable port into 3 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with our...
$1.25
IN STOCK

Power Lines

Ground is easy, thats the power and data reference ground.

V+ can be anything from 3-5V DC. Devices must accept 3-5V DC and must use a regulator if the device requires 3V or less power voltage! STEMMA controllers may provide 3 or 5V.

The reason we don't force 3.3V is that there are some high-current controlled devices (servos, RGB LEDs) that may benefit from having a high voltage/current availability.

Data Line

There is a single data pin, that we try to make sure can be used for various purposes such as analog input, digital in/out, even PWM/servo control. For example, here's a NeoPixel strip that has a JST connector on it for easy attachment to add colorful lights! As you can see, it plugs in right into the HalloWing

The connected device is expected to be OK with either 3-5V power and 3-5V logic. Use level shifting/dividers and regulators if necessary to be compatible!

To make things a little safer for the controller when it has 3.3V logic level, we put on a 1K+3.6V Zener diode protection circuit. This will keep the incoming voltage from going above 3.3V or below 0V

STEMMA / STEMMA QT Comparison

STEMMA is not an original idea, we're working within an ecosystem of many other plug and play systems

We started STEMMA in 2014, and intended to be compatible with Grove only (cause that's all that existed at the time) but then when Qwiic came around in 2017, added a smaller connector so we could work with those parts too!

STEMMA attempts to be as cross-compatible as possible with both Grove and Gravity (compatible connectors & 3-5V power/logic). STEMMA QT is cross-compatible with Qwiic - STEMMA QT connector/cable is same as Qwiic. You can use STEMMA QT devices with Qwiic devices/controllers.

What doesn't work?

  • Qwiic, Gravity and Grove do not always work together, see table below - most importantly: Qwiic is 3V power logic only, and does not have level shifting. Grove uses 3-5V, and only 4 pin cables for analog/digital/pwm/I2C/UART. Gravity uses 3-5V and a mix of 3 and 4 pin cables.

Quick Comparison

Controller/Device

STEMMA

STEMMA QT

Grove

Qwiic

Gravity

Connector

JST PH 3 or 4 Pin (2.0mm pitch)

JST SH 4 Pin (1.0mm pitch)

Proprietary 4 Pin (2.0mm pitch)

JST SH 4 Pin (1.0mm pitch)

JST PH 3 or 4 Pin (2.0mm pitch)

Power Pin Voltage

3-5V DC

3-5V DC

3-5VDC

3V DC

3-5V DC

Logic Pins Voltage

3-5V DC

3-5V DC

3-5V DC

3V DC

3-5V DC

Data Protocol

I2C only on 4 pin. Analog/Digital/PWM on 3 pin.

I2C only

I2C/Analog/Digital/PWM on 4 pin

I2C only

I2C or UART on 4 pin. Analog/Digital/PWM on 3 pin.

Cross-Compatibility

Controller means the 'host' device, e.g. the microcontroller or Raspberry Pi computer

Device means the 'cllient' device, e.g. the I2C sensor, potentiometer, servo, NeoPixels, etc.

STEMMA 3/4-Pin Device

STEMMA QT Device

Grove Device

Qwiic Device

Gravity 3/4-Pin Device

STEMMA 3/4-Pin Controller

Yes

4-Pin cable adapter (from JST PH to JST SH) required

4-Pin STEMMA Controller will work with any Grove I2C device only.

4-Pin cable adapter (from JST PH to JST SH) required and controller voltage must be set to 3V with solder jumper

Yes except for 4-pin UART devices are not supported

Grove Controller

STEMMA 4 pin device will work on the I2C Grove ports only

4-Pin cable adapter (from JST PH to JST SH) required

Yes

4-Pin cable adapter (from JST PH to JST SH) required and controller voltage must be set to 3V with solder jumper

4-pin Gravity modules only

Qwiic Controller

4-Pin cable adapter (from JST PH to JST SH) required

Yes

4-Pin cable adapter (from Grove to JST SH) required, and Grove I2C device only

Yes

4-Pin cable adapter (from JST PH to JST SH) required, and Gravity I2C device only

Gravity 3/4-Pin Controller

Yes (STEMMA 4 pin device will work on the I2C Gravity ports only)

4-Pin cable adapter (from JST PH to JST SH) required

Only 4 pin Grove I2C devices will work

4-Pin cable adapter (from JST PH to JST SH) required and controller voltage must be set to 3V with solder jumper

Yes

DFRobot Gravity

DFRobot has their own plug-n-play system as well, called Gravity. It's a little less well defined than Grove/Qwiic, but it seems to use 3-pin JST's for digital/analog and 4-pin JST's for I2C/UART. Other than the UART 4-pin devices, Gravity and STEMMA are compatible with each other.

Compatibility:

  • STEMMA 4-pin parts and cables are cross-compatible with Gravity I2C parts. You can plug the larger 4-pin STEMMA cables/devices/controllers into Gravity I2C devices/controllers just fine and vice-versa. UART won't work because STEMMA is for I2C only.
  • STEMMA 3-pin parts and cables a are also cross-compatible. You can plug 3-pin STEMMA cables/devices/controllers into Gravity analog/digital/PWM devices/controllers just fine and vice-versa.
  • STEMMA uses the same voltage as Gravity - power is 3-5VDC and data is 3-5VDC with level shifting/regulators on devices.

Differences:

  • Some Gravity devices use 4-pin connectors for non-I2C data like UART. STEMMA only uses I2C for the 4-pin connectors.

Seeed Studio Grove

STEMMA / Grove comparison

Grove is SeeedStudio's plug and play system, its the oldest/most established, initiated in 2010 as 'stem/twig' and then renamed Grove. There's only one type of cable and 4-pin connector, but it can have I2C/analog/digital/whatever on the cable. The cable/connector is proprietary, and sold only by Seeed (it seems).

Compatibility:

  • STEMMA 4-pin cables are cross-compatible with Grove parts. You can plug the larger 4-pin STEMMA cables/devices/controllers into Grove I2C devices/controllers just fine and vice-versa. Even though the connector they use is not the exact same part, the cables will fit into the connectors!
  • STEMMA uses the same voltage as Grove - power is 3-5VDC and data is 3-5VDC with level shifting/regulators on devices.

Differences:

  • Some Grove devices use 4-pin connectors for non-I2C analog or digital data. STEMMA only uses I2C for the 4-pin connectors. You cannot use Grove analog/digital parts with STEMMA boards, stick to the I2C ones only!

To the left you can see two different Grove devices. The longer one to the left is a I2C device, you can see it has SCL/SDA marked next to the connector, and is compatible with STEMMA. The one to the right has SIG marked next to the connector, and is not compatible because its analog output, not I2C!

 

Below you can see the Grove cables, even though these are not JST PH they will work just fine with STEMMA 4-pin connectors

SparkFun Qwiic

STEMMA QT / Qwiic comparison

Qwiic is SparkFun's I2C prototyping system, it's only for use with I2C devices. There's also only one cable, a JST SH 4-pin connector and will only use it for I2C. Qwiic is a bit newer than Grove, it was created around May 2017.

Compatibility:

  • Like Qwiic, STEMMA only uses the 4-pin connectors for I2C. The STEMMA QT connector is identical to the Qwiic connector and uses the same pin ordering.

Differences:

  • Qwiic only has level shifting and voltage regulation on the controller, not devices. So, you can use STEMMA + STEMMA QT devices with any Qwiic controller and you can use Qwiic devices on a STEMMA controller if you set the voltage jumper from 5V to 3V (and have a cable that converts the 2mm to 1mm pitch connector)
This guide was first published on Jul 28, 2019. It was last updated on Jul 28, 2019.