I2C connector standards confusion

Coming from a software background I prefer a digital interface - particularly I2C.

Pulling my hair again over the i2c connectors ! Developing on a breadboard is one thing, but trying to tidy up wiring and use shortest cables is what gives me the headache. The different manufacturers sell pre-made cables for their own standard … but there is very little which connects the standards.

Over the past couple of years I have purchased a variety of sensors and other devices with i2c … but when I connect them up comes the headache ! Adafruit, Seeed Studio, DFRobot and Sparkfun have ‘standardised’ on the i2c connectors used in their own products - which they have named STEMMA, Grove, Gravity, Qwiic, STEMMA QT … and recently Core Electronics have added picodev. Fortunately these are similar - which can be both good and bad.

I found there are come commonalities. I am just using 3v3, so for me they fall into 3 groups. Some standards incorporate 5V or 3v3, so watch out if connecting a 3v3 sensor to an 5v microcontroller.

Firstly there are 3 varieties using 2mm pin pitch connectors The Grove connector is similar and can sometimes be adjusted to fit. Watch out for Gravity with the pairs of pins swapped!, thus DFRobot’s Gravity becomes a group by itself.

Name Connector pin4 pin3 pin2 pin1
STEMMA JST PH 2.0mm GND 3v3/5v SDA (white) SCL (green)
Grove A205 series 2mm GND 3v3/5v SDA (white) SCL (yellow)
Gravity JST PH 2.0mm 3v3/5v GND SCL (blue) SDA (green)

Then to make boards smaller, we got smaller connectors. Fortunately they all use the same JST PH 1mm connectors, and the same pin sequence - making them interchangeable.

Name Connector pin4 pin3 pin2 pin1
Qwiic JST SH 1.0mm GND 3v3 SDA (blue) SCL (yellow)
STEMMA QT JST SH 1.0mm GND 3v3/5v SDA SCL
picodev JST SH 1.0mm GND 3v3 SDA (blue) SCL (yellow)

That’s all very well at one end … but at the other end of the cable options are:

  • same connector (generally another female)
  • dupont pins for breadboard
  • bare wires for soldering

These are pre-made i2c cables sold by Core Electronics. Though I am finding more which the search engine missed.

STEMMA (Adafruit) uses JST PH (2mm pitch) connectors, and Grove (Seeed Studio) use very similar A205 connectors … with the same pin sequence GND / VCC / SDA / SCL … so they are effectively interchangable. Oops! I just realised I am looking only at the sequence of pins - not their numbering which is based on the orientation of the connector.

Standard Cable length Other end CE SKU
STEMMA 150mm same ADA3568
600mm same GB-3804-0707-0600
STEMMA 100mm JST SH 1mm ADA4528
150mm JST SH 1mm PRT-15109
STEMMA 200mm JST SH 1mm ADA4424
500mm JST SH 1mm CAB-25596
STEMMA 200mm Male Dupont headers ADA3955
STEMMA 200mm Female Dupont headers ADA3950
Grove not specified Female crimp pins SS110990028
STEMMA socket 200mm Bare wires ADA4045
Set of plug and socket 200mm each Bare wires ADA5088

Gravity (DFRobot) use the same JST PH 2mm pitch connectors but swap the order of power pins and signal pins around – so be sure not to get them mixed up.

Standard Cable length Other end CE SKU
Gravity 150mm same ADA3568
Gravity 200mm JST SH 1mm CAB-28768
Gravity 300mm Female dupont header block FIT0513
Gravity 500mm Female dupont header block FIT0773

Pololu have their own version of JST PH-style connectors - but their pin sequence is opposite to STEMMA. Ie their connector is upside-down.

Standard Cable length Other end CE SKU
630mm same POLOLU-5627
120mm Female crimp pins POLOLU-5620

I found one other JST PH 2mm cable – but the colour scheme doesn’t match any of the others !

Standard Cable length Other end CE SKU
Plug and socket 150mm Bare wires PRT-09916

Qwiic (Sparkfun), STEMMA QT (Adafruit) and Picodev (Core Electronics) all use the smaller JST SH connectors with only 1mm pitch. More importantly they all use the same connector and same pin sequence, so are interchangable.

Standard Cable length Other end CE SKU
Qwiic / STEMMA QT / Picodev 50mm same CE07772, ADA4399
100mm same CE07773, ADA4210
200mm same CE07774, ADA4401, PRT-17258
300mm same ADA5384
400mm same ADA5385
500mm same CE07775
630mm same POLOLU-5527
100mm JST PH 2mm STEMMA / Grove ADA4528
150mm JST PH 2mm Grove PRT-15109
200mm JST PH 2mm STEMMA / Grove ADA4424
200mm JST PH 2mm Gravity CAB-28768
500mm JST PH 2mm CAB-25596
150mm Female Dupont headers ADA4397
150mm Male Dupont headers ADA4209
200mm Female Dupont headers CE07958
200mm Male Dupont headers CE07796
150mm Male Dupont headers ADA4209
100mm Arduino MKR (5-pin) ADA4483
150mm Alligator clips ADA4398
Not stated micro hook clips ADA5037
750mm Bare wires POLOLU-5522

Hi Donald
Interesting and a good comparison. What happened to the “Standards” people of times past. I have lost touch over the past 25 years due to many things but I think there were a few organisations that looked after such things. Some bits took some time to become internationally recognised but seemed to gradually be accepted in the international community.

Like video recording. VHS and BETA. VHS seemed to become the domestic “standard” while BETA was used in the TV station world, in Australia anyway. TV stations had some VHS machines mainly to provide domestic playable tapes to interested parties like an interviewed person etc.

Along came digital and in the case of audio many proposals for a “standard” . At least the attempt was made at “standards” but it dragged on for too long and a couple of companies like Sony and Phillips went ahead and produced their own “standard”. This became SPDIF (Sony,Phillips Digital InterFace) which over time became some sort of “standard” due I think to general use.

But with the world shrinking particularly in the distribution of Electronic type components (Which is of concern to us) and so many Companies and indeed Countries involved I think this “Standards” business has once again become scrambled.

Unfortunately for us mere mortals this multitude of “Standards” has become somewhat of the norm. Almost impossible for the individual to keep track all but the ones we are currently interested in, such as your interest in I2C connections. I personally have not spotted this having not much to do with the various systems. My usage has led me to note what the connections are and not so much what pin number is involved so these discrepancies have slipped by.

Regarding connectors of which you have listed a few of interest to you. Have a thought for the people servicing different equipments using different connector “standards”. How many test cables do you think they will need. The multitude of Co-Ax connectors can be a nightmare. BNC-50Ω and 75Ω. Type N-50Ω, 75Ω and 60Ω and PL259/SO239 With SMA and the other miniature ones would be the more common. But in the real RF world there are others. General Radio (GR), Spinner and Desifix come to mind and there undoubtedly others.

Anyway, happy sorting.
Cheers Bob
PS: GR and Desifix are “sexless”, ie; no different male and female, which makes things a bit easier.

In that mix above there is TNC which is basically BNC with a threaded retaining nut, Twinax which has twin conductors and Triax which has 2 separated screens used for carrying power and signal over a single cable to a TV studio camera.

Thanks…

I have tried to move on from what uses what and do the pin mapping at benchtop time. I now get the bits I think are best fit for purpose; which is where I suspect the challenges start. i.e we tend to use pre-built modules as such its the module designer that is picking the connectors to fit the board layout or their internal standard.

So I now have some “cable kits” that have all sorts of connector size and housing… I then make the lead to connect from the module to what I want to use. I tend to stick to the stock 2.5mm headers while testing and play, then move to whats fit for purpose if/when we get off the bench to so pseudo production or an actual production. I have a whole tray of 2.54mm housings and contracts, so single row of 4 no problem, then crimp to the end of the cable the fits the board.

I now try to think think of this more inline with “if I made it from the ground up”, then I would need to pick a connector to use and I could make my own “standard” them I could break that standard … yeah… I know… But my issue with some connectors is just usability in target project environment (dupont are nice and fast, but dont always have the best grip… JST may be nice and fit well, but do the tiny ones have enough current capacity or do I run a separate power connector…

I guess my key point is… I think it can be hard to get a cheapish and best fit connector that will remain a standard in the maker marked. So expect it not to fit and have a way to deal with it :slight_smile:

side note: Over the years some of my go to connectors are not even made anymore. I still have a tray of HE14 connectors that I really liked, but not so easy to buy now, so should not be used in new projects.

1 Like

Updated my original post to list all the i2c cables I could find on Core’s shop (though I sill find more).

The real point I wanted to make, was to gauge support for a new product - a hub which incorporates all these standards, and so allows us to mix-and-match sensors etc from all the manufacturers which Core sells.

There are hubs for each of these three cable standards - but nothing which incorporates and links them. I see this as a gap in the market - but what specs for a product to fill it ? How many of each ?

  • 3 picodev/Qwiic/STEMMA QT connectors of JST SH 1.0mm with sequence GND | 3v3 | SDA | SCL
  • 3 STEMMA/Grove connectors of JST PH 2.0mm with pin sequence GND | 3v3/5v | SDA | SCL
  • 2 rows of female dupont sockets with sequence GND | 3v3 | SDA | SCL
  • a bit of a gap to separate, and for the PCB traces to swap over (or maybe to go around and come from other end)
  • 3 rows of Gravity JST PH 2.0mm connector with sequence 3v3/5v | GND | SCL | SDA

So, do you buy sensors etc for functionality and price, then work out how to connect them - or do you stick to one brand for ease of connection ?

mmm, still thinking…
My personal preference would be a cable with different connector on each end.
While at low “frequency” (read slow rise/fall times) I guess it wont matter to much, but as we make things faster, “Y” signal paths not designed for the project “may” create issues and reflections.

While any connection, can add a little noise to the data path, a path of (as close too) same length wires point to point should always be better then multipath mis-matched lengths.

I also think a cable v a board with may unused ports is much neater.

I like the idea of saying I have Board A with a female AA connection and a second board with a female BB connection, so I need a male AA to male BB cable to connect the two…

As apposed to aa to bridge board then bb to target…

I want to stress this or more an issue with very fast signal rise/fall times then what most people will use, so may be fine.

All just for thought and comment; Im not saying no, just giving my view; which I am sure wont be the only one…

Hey there, @Donald23173,

One of these would be a pretty handy little bench tool. I think the reason it would not have been made yet has less to do with feasibility and more just trying to reach all of the standards, especially when some, like Grove are proprietary.

I also think @Michael99645 raises a good point about branching. Although, with most I2C setups, cable length, bus capacitance and multiple pull-ups are gonna become issues long before reflections do.

I’d also be careful with something like this as it would be easy to damage the connectors on either end of the cable / board. They’re not really designed for continuous in and out. I see a lot of people damage them through repeated use or pulling too hard.

Curiously, I found this POLOLU-5654 Breakout adapter which is a much smaller version of what I was imagining.


I get the impression that Robert and Michael are coming from a professional electronics engineer point of view … people who are happiest with a soldering iron in hand and assembling from the basic components; and even custom crimping connectors.

I, on the other hand, come from a software background so am a definite amateur in this field, and so I prefer to connect pre-made breakout board components. I have taken Andreas Spiess’ Tricks on how to wire your Project to heart - but crimping Dupont connectors is hard enough that I refuse to fiddle with custom making smaller connectors.

Certainly a single cable is best if only connecting one or two “point to point” - and Core certainly have a good selection (excepting Gravity to STEMMA or Grove) - but I am thinking particularly about connecting 6 or more assorted breakout boards and trying to reduce the overall cable length. Depending on the particular mix of breakout boards and the connector standards used on them, I imagine using a couple of hubs with extra cables to connect each to the microcontroller.

Maybe the average project only connects a couple of sensors or devices to a microcontroller.

Maybe… but in my mind its more about maximizing the chance of it working and ideally working reliably. This can get a little cloudy when talking in more general terms. e.g. you idea can work perfect for your use case, and the math may support it; but that does not mean it cant cause issues with a different project.

Im not a professional in electronics, just made enough of my own mistakes over time :slight_smile: Im am more software and infrastructure; and enjoy the connection between the “e-world” and the physical.

Reelections can be very real and very hard to track down. Most people when they start reading think its about the clock rate; and it kinda is, but not really. Faster clocks need faster rise times; its the faster rise time that can cause the reflection.
e.g. you could have a “slow” chip with a slow rise time work perfect, think yeah he High Speed version will be ok as its can deal with the slow rate as is… but that may not be true in a design. I fell for that one with shift registers.

When you send a signal out on a wire… it will move along the wire until it
a) runs out of energy.
b) meets a matching termination (that will absorb the excess energy)
c) hits a mismatched termination (end of wire) and bounce back.

when that returned power moves back towards the transmitter (sender) end, it will add its voltage to the voltage going the other way. the Tansmitter does not see that so keeps pumping more power into the line to bring to the logic V.
When the reflected signal gets to the transmitter, the transmitter can adjust outs output, but at this point it will tend to lower too much.
On the scope it will look like that ringing until it stabilises.
The Voltage and be upto double what the transmitter is actually sending.

Slower rise times give more time for any reflection to make its way back BEFORE it hits the logic V. e.g. short runs, less of an issue then longer runs. Slower rise times less of and issue the faster rise times.

Please note: I do accept that in most hobby level things and pre-built modules we often dont see enough off these issues to think too much about them. But we also seem enough “weird” issues due to 1 or more things adding to the problem, where any one by it self would have been fine.

For your own work… do what every you feel works and have fun with it.
If you want to sell a part, ensure you understand the limits of it, and let the buyer know… e.g. testwith with… max cable length of… a+b may cause …
As the hobby buyer, by default will just expect it to work when any job it may physically match… While I have been known to buy some things that may or may note work, I do accept it if it does not… but some people get angry…

Back to the matter at hand…

My comment about the cable was not for you to make them by hand, rather, get someone with the right automated gear to make the custom cables.
then you can buy the ready made cable with End A - End B to suit what conversion you need. I can see the value in a more generic board while testing a bechtop setup of modules, then replacing with the actual specific cable when you move to project completion (now that you know) can only help keep it stable.