I2CDriver by Excamera Labs
I²CDriver is an easy-to-use, open source tool for controlling I²C devices and a great tool to help with quick driver development and debugging. 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. 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 kinda like a Bus Pirate with a display and great Python support.
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 struggle. 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 pull-up 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
Comes with an assembled and tested I2CDriver board plus some jumper cables. The VEML7700 Breakout shown in the demo not included - but you can pick one up here.