All setup and technical information about I²CDriver can be found in the User Guide .

I²CDriver is an easy-to-use, open source tool for controlling I²C devices over USB. It works with Windows, Mac, and Linux, and has a built-in color screen that shows a live "dashboard" of all the I²C activity.

USB to I²C interface with a built-in graphical display

I²C master, passive monitor and capture-to-PC supported at 400 kHz

Three I²C ports, each with high-quality color coded hookup jumpers

Power monitoring: USB line voltage and target current readouts

Flexible control: GUI, command-line, C/C++, and Python 2/3 host software provided for Windows, Mac, and Linux

I²C is Everywhere

I²CDriver Makes I²C Much More Friendly

It uses a standard FTDI USB serial chip to talk to the PC, so no special drivers need to be installed. The board includes a separate 3.3 V supply with voltage and current monitoring.It’s in every phone, in your embedded electronics, in every microcontroller, Raspberry Pi, and PC motherboard. It’s a mature technology - still going strong after 36 years. Because it's everywhere, I²C is used by everyone from novices to embedded designers. But the common element of everyone's I²C experience is. Instead of being easy, I²C very often feels really difficult. Because there are so many ways for I²C to go wrong, things rarely "just work" and instead involve some painful debugging.

While other I²C tools might offer a couple of LEDs, I²CDriver has a clear logic-analyzer display of the signal lines plus a graphical decoding of the I²C traffic.

In addition, it continuously displays an address map of all attached I²C devices, so as you connect a device, it lights up on the map. You'll never have to ask "is this thing even switched on?" again.

The current and voltage monitoring let you catch electrical problems early. The included color-coded wires make hookup a cinch; no pinout diagram is required. It includes a separate 3.3 V supply for your devices, a high-side current meter, and programmable pullup resistors for both I²C lines.

There are three I²C ports, so you can hook up multiple devices without any fuss.

I²CDriver comes with free (as in freedom) software to control it from:

a GUI

the command-line

C and C++ using a single source file

Python 2 and 3, using a module

Do More With I²CDriver

By controlling I²C hardware using the PC tools you're most comfortable with, you can get devices doing what you want in a fraction of the development time. Calibrating devices like accelerometers, magnetometers, and gyroscopes is much simpler and faster when done directly on the PC through I²CDriver.

I²CDriver ships with Python examples using small groups of I²C devices to make something useful.

Watch the Whole Network

As well a a live decode of the traffic, the built in display shows a heatmap of all active network nodes. So in an I²C network with multiple devices, you can see at a glance which ones are the most active.

See what I²C is Doing Instantly

When an I²CDriver is connected to an existing I²C bus, it can "snoop" the traffic and display it on the screen. This provides an excellent tool for debugging I²C issues, because you can listen in on the conversation as it happens.

Capture I²C Traffic to Your PC

I²CDriver can dump all I²C traffic back to the PC. I²CDriver's capture mode reliably records every bit to an exhaustive time-stamped log. This is really helpful for debug, analysis, and reverse-engineering. Supported formats include text, CSV, and VCD.