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.
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.
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
Based on 15 ratings:
1 of 1 found this helpful:
I tested at 1,6,25,50 and 100 ft cat 5e wire still delivers data.
1 of 1 found this helpful:
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:
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:
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!
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.
Just plug it in and you have a long range I2C bus.
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
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!
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.
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.
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 as advertised at the end of a 30 ft Cat 5 cable.
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.
item receive fast and good
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.