Stemma, Grove, QT, Gravity, Duppa, I2C

I’ve always liked the look of these “plug the sensors in using I2C” different options out there, but must admit I’ve never really got to grips with the different systems that one might come across.

Recently I found another bespoke, but related, system from Duppa.net and decided I just had to sit down and try to work them all out once and for all to have any hope of using these devices together.

Whilst researching the details for this post, I stumbled upon the following, which sort of helped a little:

As an aside, here are some resources on voltage levels and the use of pull-ups for I2C:

My general understanding is to be wary of devices with fixed pull-ups if you’re mixing logic levels as it might end up pulling up a voltage level to higher than the other end is expecting.

Also, it is generally useful to only have one set of pull-ups in any set of chained I2C modules, which is why some devices will have pull-ups configurable using solder bridges or jumpers.

  • The Raspberry Pi has hardware pullups built in (more here).
  • Arduino boards tend to not include hardware pullups, but apparently sometimes they can be added to solder pads on certain boards and the library may enable internal pull-ups if it is able to.

Also, whilst many GPIO pins will operate with “symmetrical drive characteristics” when in output mode (so can both drive an output HIGH and LOW), again my understanding is that for I2C output they will often be in “open drain” mode which allows other things on the bus to be driving the signals HIGH if required. But this is why the bus itself needs pull-ups, otherwise, when nothing is driving the bus the level will be left floating.

Note: this is my hand-wavy understanding of outputs and I2C, so take that as you will. As I learn more (or if someone corrects me) I’ll pop back and update this page.

Proper details can be found here in this TI application note for I2C:

Adafruit Stemma and Stemma-QT

One of the best starting points is this guide from Adafruit on how their Stemma and Stemma QT system links up with some of the others: https://learn.adafruit.com/introducing-adafruit-stemma-qt

From this we can learn the following:

  • Stemma is JST PH 3 or 4 pin with a 2.0mm pitch, which is kind of similar to Gravity and Grove, but not exactly, but will generally be physically compatible with either.
  • Stemma QT is JST SH 4 pin with a 1.0mm pitch, which is kind is similar to Qwiic.
  • Stemma 3-pin is for analog, digital or PWM devices.
  • Stemma and Stemma QT 4 pin is I2C.
  • Adafruit do a Stemma QT to Grove cable.

The main issues are: understanding which are 5V and which are 3V; which are wired up differently; and which are not standardised even within themselves (Grove can be I2C, UART, or general IO for example).

Seeed Grove

Another good reference is from Seeed with their introduction to Grove: https://wiki.seeedstudio.com/Grove_System/

From this we can note:

  • Grove 4-pin is quite similar to the Stemma 4-pin.
  • Grove comes in analog, digital, UART and I2C versions.
  • Physically they are proprietary (they might be called “HY 2.0” in some places), but quite like the JST PH 4 pin, 2.0mm pitch connectors and can usually physically be plugged into JST PH headers (although the use of the pins might be different).
  • Some connectors are latched (“buckled” – left below) and some are unlatched (“unbuckled” – right below).
  • Latched/buckled are less likely to physically fit in Stemma JST PH sockets.

Electrow’s “crowtail” connectors seem to be physically the same as Grove, but I’ve not found details of the electrical specification. But again, the hints are that they are a proprietary form of Grove, so they might be compatible.

Sparkfun Qwiic

Sparkfun describe their Qwiic system here: https://www.sparkfun.com/qwiic

Points of note:

  • Qwiic is 4-pin, 1.0mm pitch, I2C only.
  • Qwiic and Stemma QT are essentially the same, but there are differences in terms of which end is expected to be doing level shifting, so read the Adafruit guide for details.

DFRobot Gravity

The DFRobot guide for Gravity is here: https://www.dfrobot.com/gravity, but to be honest I was struggling to find any technical specs, but from the previous guides (especially the Adafruit one), we can note:

  • Gravity are JST PH 3 or 4 pin 2.0mm pitch connectors.
  • 3-pin connectors support analog, digital and PWM.
  • 4-pin connectors support UART or I2C.
  • There is a high chance of compatibility with the physical I2C connectors provided logic levels are observed.
  • HOWEVER – the wiring of Stemma and Gravity are apparently different even though the connectors are physically the same. Importantly, PWR/GND are swapped.

Duppa.net

But then there is the reason for my starting this post – finding the intelligent rotary encoders and LED rings provided by Duppa.net: https://www.duppa.net/product-category/i2c-devices/

These appear to have two different standards of their own:

  • LED Ring: Molex Picoblade, 1.25mm pitch, 5-pin connectors.
  • Encoder: JST XH 2.54mm pitch, 5-pin connectors.

Neither of these is directly compatible with each other or with any of the above, but it can be seen that both are essentially power, GND and I2C so it ought to be possible to build compatible converter cables.

The details of pinout and so on can be found in the GitHub repository here: https://github.com/Fattoresaimon?tab=repositories

Note, in some places online I’ve seen the 1.25mm pitch PicoBlade connectors listed erroneously as “JST 1.25” – but these don’t seem to exist on the official JST site.

Summary

This really has become a bit of an xkcd standards situation unfortunately, and I’ve not covered everything (Pimoroni have a different approach to I2C for example).

But hopefully now I’ve finally written it all down, I might be able to make some sense of it and actually start using them a bit more.

So I think the upshot of all the above is the following (the numbers are the pitch of the pins):

But I must admit I’m still not 100% sure I’ve got them all right…

Kevin

#duppa #gravity #grove #i2c #qwiic #stemma #stemmaQt

These two commonly-available (Aliexpress) VL53L0X ToF distance sensor modules have different pin-outs, so I created a small #QWIIC (#STEMMA QT) socket to header socket adapter PCB that supports either one by populating the header in one of two positions. 🧐 😁
Want to extend your hardware without soldering? Bernhard Bablok shows you how to integrate hardware components with pluggable Raspberry Pi modules, sensors, and displays. https://www.makerspace-online.com/plugged-in/ #RaspberryPi #components #hardware #solder #sensor #display #Adafruit #STEMMA
Integrate hardware components with pluggable systems

Ecosystems with pluggable Raspberry Pi modules, sensors, and displays are a great choice if you don’t want to – or can’t – solder but still want to extend your hardware.

MakerSpace
ESP32-H2-DevKit-Lipo is new Open Source Hardware board with RISC-V SOC Bluetooth 5, Zigbee, Matter, Thread https://olimex.wordpress.com/2023/12/14/esp32-h2-devkit-lipo-open-source-hardware-board-is-ready-for-prototyping/ #esp32 #bluetooth #zigbee #matter #thread #oshw #uext #qwiic #stemma
ESP32-H2-DevKit-LiPo Open Source Hardware board is ready for prototyping

ESP32-H2-DevKit-Lipo is new Open Source Hardware board with the new Espressif ESP32-H2 series SOC. ESP32-H2 is an ultra-low-power Internet of Things (IoT) solution offering multiple protocol suppor…

olimex
#LEGO base plates for #STEMMA boards: #3Dprinted holders feature built-in standoffs for press fitting the #PCBs. STEMMA boards plug-&-play with various devices & accessories without soldering:
https://learn.adafruit.com/stemma-lego-base-plates
#DIYtech #electronics #3Dprinting #microcontrollers #SBC
STEMMA Lego base plates

Organize projects with STEMMA Lego connectors! These 3D parts make it easy to use your Adafruit devices with Legobricks.

Adafruit Learning System
UEXT have now is with three different connectors variants: Classic UEXT 2.54mm step, mini UEXT mUEXT 1.27mm step, pico UEXT pUEXT 1.0 mm step

UEXT is our universal connector which we put on almost all our boards made after 2004. It consist of power supply UART, I2C and SPI interface and allow many diffrent modules to be connected to it. …

olimex
#ClsJobs #ClsPostDocs #ClsPhD The first three positions with #STEMMA are closing soon!
Excellent project & great PI, in Galway Ireland:
➡️ Data-driven analysis of Circulation of Early Modern verse.
👉 Please share widely!
🗓️ Closes 17 July
@mooreinst
https://mooreinstitute.ie/2023/06/08/postdoctoral-researcher-7/
Now I have to ponder whether or not to purchase #Scapple to keep the interactive files accessible. An alternative would be to re-draw the three distinct versions of the #Stemma in another program from which I can export more common formats. Suggestions?
Update on the #Scapple .scap files. I downloaded the trial version of Scapple so I could open the files. They all contain interactive versions of the #EthicaComplementoria #Stemma. I have all of these also as static images in PNG and PDF formats. But they are not editable. Investigating export formats from Scapple, none are useful for me. The OPML format (an XML variant) cannot be imported by drawing tools like draw.io. #FunWithFormats #DataRecovery #RDM #ResearchDataManagement
In the meantime, I found out where the .scap file format comes from: some years ago, while working on the #Stemma for the #EthicaComplementoria prints, I tried out several digital tools for drawing flowcharts and ended up using #Scapple! I don't have it installed currently, but I might see whether I can export the files into a more standard format! #ResearchDataManagement
Learn all about the textual and print history of the #Ethica in my #DiamondOpenAccess book: http://diglib.hab.de/ebooks/ed000738/start.htm
WDB - Wolfenbütteler Digitale Bibliothek - ebooks/ed000738