SparkFun Differential I2C Breakout - PCA9615 (Qwiic)

The SparkFun Differential I2C Breakout is the fastest and easiest way to extend the range of your I2C communication bus. The breakout uses NXP’s PCA9615 IC, which converts the two default I2C signals into four differential signals, two for SCL and two for SDA. The differential signals are sent over an Ethernet cable, which attaches to the breakout through the on-board RJ-45 connectors The differential signaling allows the I2C signals to reach distances of up to 100ft. while still maintaining their signal integrity! To make it even easier to get your readings, all communication is enacted exclusively via I2C, utilizing our handy Qwiic system so no soldering is required to connect it to the rest of your system. However, we still have broken out 0.1"-spaced pins in case you prefer to use a breadboard.

The simplicity of the Differential I2C Breakout is one of its biggest appeals. Other I2C communication methods require packetizing I2C communication into another protocol, be it RS-485 or 1-Wire. However, the PCA9615 keeps the I2C protocol by utilizing a differential transceiver.

Whether you need to extend the range of an I2C sensor on an autonomous vehicle plagued with noise from motors or want to create a vast sensor network in your home or office, the Qwiic Differential I2C Breakout is a great solution to extend distance and reduce noise susceptibility.


The SparkFun Qwiic connect system is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.


  • Uses the PCA9615 buffer
  • I2C Supply voltage range 2.3-5.5V
  • Differential Supply voltage range 3-5.5V
  • draws 16µA of current
  • Extends I2C bus up to 100 feet
  • Data rate up to 400kHz
  • 2x Qwiic Connectors

SparkFun Differential I2C Breakout - PCA9615 (Qwiic) Product Help and Resources

Qwiic Differential I2C Bus Extender (PCA9615) Hookup Guide

May 31, 2018

Learn how to extend the range of your I2C communication bus with the Qwiic differential I2C bus extender (PCA9615 ) breakout board.

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #1647208 / about 4 years ago * / 1

    About the video above: Lets supose I want to connect another "SparkFun Differential I2C Breakout" to the unused connector in the first "SparkFun Differential I2C Breakout". Is that possible? How about the terminator resistors?

    I read somewhere "Termination resistors only on the first and last peripheral on DI2C Bus". How can i do this? since in this case will be a termination resistor in different "nodes".

    My goal is to add like 5 sensors to the some I2C bus point, using 5 RS485 20meters cable and 6 "SparkFun Differential I2C Breakout" (one for each sensor to convert the differencial signal to signal end) and another one to the point where all the signals will converg. Is that possible?

  • Member #462331 / about 4 years ago / 1

    Silly question, but what would happen if you plug in a cable with an ethernet switch/adapter into the other end? With it fry? Would the adapter/switch fry? I'm asking.... for a friend... yea a friend.

  • SidR / about 5 years ago / 1

    As Member #498156 mentioned in the reviews, breaking out the unused differential pair pins (3 & 6) could be helpful. Another thought would be to make them jumperable to the power pins. Beefing up the power traces wouldn't be bad either. These enhancements would help with powering attached devices. Thanks!

  • Member #1581928 / about 5 years ago / 1

    Hello, why are 100 and 390 termination resistor used, when in datasheet is 120 a 600 resistor? Thank you.

  • rmeyer / about 5 years ago / 1

    Wow I can't wait to use these. After I got tired of the old BasicX Microcontrollers I was using on my autonomous vehicle dumping their programming whenever a low battery or high load condition caused a brownout, I wanted to port all seven peripheral sensor nodes over to Arduino, which seems much more stable. The only catch was that I would be giving up the fairly robust built-in RS-485 networking which was included with the BasicX modules.

    Now it appears that I might have a solution! I was hoping I could cobble together some new boards in such a way that I could piggy-back the Arduinos into the existing sockets for the 40-pin BasicX chips, and still be able to use all of the existing RJ45 connectivity on my vehicle. Again, it looks like this makes that possible. Can't wait to give them a try.

  • Member #106574 / about 6 years ago / 1

    Typo in the part number on the features tab, FYI.

  • Member #91534 / about 6 years ago / 1

    can these be daisy chained?

    • Member #106574 / about 6 years ago * / 1

      As stated here the chip doesn't package the communications, so you can treat this as simply a wire in your I²C bus (albeit one that needs to terminate in another chip before it can be used for interfacing to other I²C devices). You can also do multiple drops from the cable side, if that works better for your application. If you have drops off the differential cable, they need to not be terminated, so just remove the termination resistors from this board.

Customer Reviews

4.8 out of 5

Based on 15 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

does what it is supposed to do!

I tested at 1,6,25,50 and 100 ft cat 5e wire still delivers data.

1 of 1 found this helpful:

Really great

I2C is a really great communications protocol, supported well by most uCs, and lots of sensors. I use this with the Raspberry Pi, I configured I2C to run at 32kHz, and I bought a 100ft ethernet cable and wound it all over, around motors and pumps, fluorescent lighting, and my signal still looks great! I think this chip will give CAN bus a run for its money.

1 of 1 found this helpful:

Extremely useful

For fiddling around on the bench, the hot plug capability saves endless reboots - want to try a different qwiic board? Unplug the RJ-45, plug in the new board, plug the RJ-45 back in and scan for it. I use a pair with a 1 m Ethernet cable for just that purpose all the time.

I’m looking forward to using it for its other purpose (extending i2c/better noise immunity) as soon as I have a need.

New product idea: combine a qwiic hat + 14589 (this) into one board.

2 of 2 found this helpful:

Work Great, but Big for What They Are

Absolutely zero complaints about functionality. Dropped these in to a system where a 3m cable between a RPi and a Teensy was providing "okay" I2C performance and now running at 400kHz without a single dropped packet in 24 hours. My one and only complaint is that the board could be a lot smaller for what it's doing - I'd guess 40% smaller without getting weird or complicated. But, that's only because my project has very tight confines and every mm is a battle. For straight out long(ish) range I2C
performance, I am absolutely a believer. EDIT: On closer inspection, and in case SparkFun is reading - on the next version of this board, it would be great if the 2 unused RJ45 pins were broken out somewhere on the board. I got to them, but it's a little bit ugly!

Seem to work well

I've not actually used this in a real application yet, currently in the testing phase. But, they seem to do what they claim to do. Very easy to use, just plug in the i2c side via the qwiic connector, then plug a cat5/cat6 cable into the rj45. Do the same on both ends and you're in business.

Did the Job as advertised.

Just plug it in and you have a long range I2C bus.

works perfectly

I have tried this breakout with a 20m length cable and it works perfectly. It is used for a connection between a Raspberry Pi and a mux TCA9548 with multiple MCP23017. At Rpi side, the breakout is powered directly by the rpi at 3.3V and on the other side, there is a separate 5V power supply. Just to cut the junction between VDD-A and VDD-B as mentioned is the very professionaly written tutorial. Thanks

Just what I needed

Had to run an I2C link to an ultrasonic sensor in a water storage tank about 20 feet from the pi. Works perfectly. Qwiic connections allowed connecting the sensor easily while laying on top of the tank. Really happy I found this gem!

Worked as expected!

I wanted to use this BOB pair to extend the I2C lines about 10 feet or so to connect to an Si7021 temperature and humidity sensor (SEN-13763). My project had worked fine with a 3" set of jumpers to the sensor board, but I didn't want to know the temp and humidity inside the broom closet where the processor was! I wanted to know the temp and humidity in the living space of the cabin.

The Qwiic "extender" worked fine - once I used a good Ethernet cable: Beware of the "slim" Ethernet cables; the one I purchased locally did not work, even though I beeped it out to be sure it was pin for pin! The slim cable also did not work as an Ethernet cable on my computer. That's getting returned to the local vendor.

Very nice part. Enabled remote sensing.

I used this to extend the I2C bus from a basement Raspberry Pi to a home made outdoor mini weather station. It worked beautifully. I separated the power on the B side from the Pi and ran it at 5V. On the remote end there is adequate power for a number of I2C devices. The current run is 85 ft. It would be interesting to also make units designed for use in the middle of a differential I2C run. This would mean no terminating resistors and two RJ-45 connectors. It would make a series of thermometers in different locations possible.

I2C bus extender

Initially, I was a bit confused by the online manual and instructions, but after some dialog with the knowledgeable tech support chat person, I was able to verify it is ready to use without any modifications (for my use case). For clarity, I am only running 5v I2C devices and my Arduino is using 5v logic. So it was just a matter of connecting the VDDA, GND, SDA, and SCL lines on each module and connecting a Cat5 cable between them and it worked (I'm not using the Qwiic connectors). Very cool and super easy to use! I like the fact that by default it will source power and ground from the local module, so no need to run separate wires for that. Great design feature! So if anyone needs to extend their I2C bus more than a few meters, these modules are well worth the money and are super easy to use. -Mike

Works Perfectly

Works as advertised at the end of a 30 ft Cat 5 cable.

Great for remote sensors

I have been using RJ11 and RJ45 breakouts for running I2C sensors for a while, but always less than 2 or 3 meters. These will allow me to do much longer runs with solid data integrity. I’ve been thinking of doing something similar and now SparkFun has saved me the trouble! The addition of the Qwiic connections is a nice touch also. Great value in this product.

fast and good

item receive fast and good

I broke it

Worked great using a 5 meter cable with a NodeMCU on one end and a 3-axis compass on the other end until the compass got wet. The pga9615 leads shorted with green copper fuzz. Bought and applied some MG conformal silicon coating to another board and so far it's working. Compass being used to report position of a dual axis solar tracker.