I²C is ubiquitous, you can find it in your phone, in embedded electronics, in all microcontrollers, Raspberry Pi and computer motherboards. It's applicable in a wide variety of cases, but the only downside is that it might be difficult to learn using it properly and to avoid painful debugging.
This device makes it easier for you to understand what's going on inside, as 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.
The current and voltage monitoring let you catch electrical problems early. The included color-coded wires make hookup quite easy; 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.
Thanks to 3 I²C ports you can hook up multiple devices simultaneously without any effort.
I²CDriver comes with 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
You can control I²C hardware using the PC tools you’re familiar with and reduce the development time needed to get the device doing what you want it to.
Calibrating devices like accelerometers, magnetometers, and gyroscopes is much simpler and faster when done directly on the PC through I²CDriver.
Moreover, 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.
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.
- Open hardware: the design, firmware and all tools are under BSD license
- Live display: shows you exactly what it’s doing all the time
- Fast transfer: sustained I²C transfers at 400 and 100 kHz
- USB power monitoring: USB line voltage monitor to detect supply problems, to 0.01 V
- Target power monitoring: target device high-side current measurement, to 5 mA
- I²C pullups: programmable I²C pullup resistors, with automatic tuning
- Three I²C ports: three identical I²C ports, each with power and I²C signals
- Jumpers: color coded jumpers included in each pledge level
- 3.3 output: output levels are 3.3 V, all are 5 V tolerant
- Supports all I²C features: 7- and 10-bit I²C addressing, clock stretching, bus arbitration
- Sturdy componentry: uses an FTDI USB serial adapter, and Silicon Labs automotive-grade EFM8 controller
- Usage reporting: reports uptime, temperature, and running CRC of all traffic
- Flexible control: GUI, command-line, C/C++, and Python 2/3 host software provided for Windows, Mac, and Linux
- Maximum power out current: up to 470 mA
- Device current: up to 25 mA
- Dimensions: 61 mm x 49 mm x 6 mm
- Computer interface: USB 2.0, micro USB connector
Contents (I²CDriver Core)
- 1x I²CDriver
- 3x Set of hookup jumpers