I2C Connector
Home Up HD44780 I2C Address I2C Connector Crystals Logic Translate DC Supply Compatibility Example PlatformIO Load Cell Arduino Arduino 2

 

I2C Connector

A connector for the I2C bus

At this time I know of no real "standard" for an I2C cable but there have been several recommended ways to arrange I2C signals on a connector.

Desirable features for a standard connector might be:

  • A canonical bus voltage, either 3.3V or 5V
  • A canonical logic supply voltage, either 3.3V or 5V
  • An additional higher voltage for peripheral devices
  • An "INT" pin for devices that signal activity via an extra pin
  • One or more "address" pins typically wired low or high

The purpose of address pins is so a board with multiple connectors could have each connector coded to a different address. If two identical devices were connected one would assume the "0" address and the other the "1" address. This trick is used in PC memory modules in order that the ID EEPROMS can be associated with specific slots.

ACCESS.bus

A 4 way "modular" connector. I've seen this described as RJ10, but the latch appears different, the images I've seen appear to show two latches to the sides of the connector

  • Pin 1: GND, Black
  • Pin 2: SDA, Green
  • Pin 3: +5v, Red
  • Pin 4: SCL, White Shield: ground

Advantages:

  • In the event of it being reversed the likelihood of damage is low (though not eliminated) as a VDD-GND swap is not possible.
  • If common twisted-pair cables are used then each signal gets paired with one power rail, and this is true for both a 1-2, 3-4 twist or a 1-4, 2-3 twist. Given that I2C is NOT differential, so SCL and SDA must NOT be run on one pair, this is a good compromise.
  • Unambiguous 5V supply
  • Specifies wire gauges, power: 26AWG data 28AWG

Disadvantages

  • obsolete
  • Access bus is technically a subset of I2C, where only "write" transfers are allowed. This requires the bus to be multi-master.

Sparkfun Qwiic

4-pin JST connector, PCBs use connectors in pairs to allow chaining

  • Pin 1 Ground, Black
  • Pin 2 3.3V, Red
  • Pin 3 SDA, Blue
  • Pin 4 SCL, Yellow

Advantages

  • "Ecosystem" of existing products
  • Support for daisy-chaining
  • Unambiguous 3.3V supply
  • Pin order is compatible with 1-4, 2-3 twisted pair configuration

Disadvantages

  • Poor availability of JST connectors in hobbyist quantities
  • No 5V support
  • No addressing
  • No provision for "int"
  • No separation between SCL and SDA

MCC corp Tyco/AMP 4-1761206-1

  • Pin-out matches ACCESS.bus, this appears to be by design as MCC appear to have adopted the ACCESS.bus connector specifications too

Advantages

  • Using an existing configuration gives it some track record
  • Same electrical advantages as ACCESS.bus, though maximum range may be reduced

My Preference 

The arrangement I'm using is almost certainly copied from MCC/ACCESS.bus

Molex KK or equivalent 2.54mm pitch 4 way connector

  • Pin 1 Ground, Blue wire (preferably)
  • Pin 2 SDA, Green (or white) wire (preferably)
  • Pin 3 +5V, Red wire
  • Pin 4 SCL, Yellow wire

For clarification as there is ambiguity in connector orientation: If the connector is above a PCB, with the lugs facing you, then pin 1 is to the left.

Obvious disadvantages are:

  • I have assumed the availability of 5V. In a 3.3V system I would put 3.3V on pin3.
  • I have made no provision for other DC supplies
  • I have made no provision for address pins
  • I have made no provision for "int"

My Extended I2C Connector Mark 1

This extends the above with two additional pins, and assumes each device has an "in" and and "out" connector to allow daisy-chaining.

  • Pin 1 A0
  • Pin 2 Ground, Blue wire (preferably)
  • Pin 3 SDA, Green (or white) wire (preferably)
  • Pin 4 +5V, Red wire
  • Pin 5 SCL, Yellow wire
  • Pin 6 A1

A0 and A1 are equipped with pull up resistors, suggested value 10k

On the "out" daisy-chain connector pin 6 is A0 and pin 1 is a N-FET drain controlled by A1. This means that on the next board A0=A1' and A1=!A0' and as a result if our initial input lead grounds A0 and A1 then four boards get the sequence 00, 01, 11, 10. If the lead leaves the pins floating we get 11,10,00,01 but they still get individual addresses.

OSEPP Electronics I2C

Connector unknown, 2.54mm system resembling C-grid

  • Pin 1: Power
  • Pin 2: I2C Data
  • Pin 3: Ground
  • Pin 4: I2C Clock
  • Similar to ACCESS.bus sequence but with power REVERSED!!

MIKRO-bus

PCB Daughterboard connector

https://download.mikroe.com/documents/standards/mikrobus/mikrobus-standard-specification-v200.pdf

Advantages

  • Ecosystem of existing products
  • Supports 5V and 3.3V supplies
  • Includes "INT" signal

Disadvantages

  • Mainly PCB-only, does not define a cable
  • No support for address pins (this is surprising)
  • No specification for bus supply voltage to use when both 5V and 3.3V parts are present, so many modules require configuration links to select 3.3V or 5V. There is a trend towards 3.3V logic levels, but it is not specified and development boards with 5V microcontrollers use 5V logic levels