I²CDriver

by Excamera Labs

An easy-to-use tool for controlling I²C devices

$17,379 raised

of $3,600 goal

482% Funded!

Pledge Now

$5

Support Us!

Thanks for helping make I²CDriver a reality! You will be rewarded with regular backer updates, and my thanks.


$29

I²CDriver Core

An I²CDriver from the first batch with 3 sets of hookup jumpers.


$61

I²CDriver Expert

An I²CDriver from the first batch, 3 sets of hookup jumpers, 16 I²C modules, and 3 module carrier boards.


$79

I²CDriver Gold

An I²CDriver from the first batch, 3 sets of hookup jumpers, 20 I²C modules, and 4 module carrier boards. Plus the I²CDriver's USB Serial ID custom programmed to an 8-character name of your choosing.


$149

I²CDriver Duo

Two Gold pledge packages, for intense I²C users.


$349

I²CDriver Team

Five complete Gold pledge packages, for teams and classes.

Details

Recent Updates


As Featured In

Electronics-Lab

"get devices doing what you want in a fraction of the development time"

EEWeb

"offers a cornucopia of capabilities and features"

LinuxGizmos.com

"The I2CDriver takes on the more daunting challenge of I2C debugging"

diarioelectronicohoy

"Con una pantalla que revela continuamente las direcciones de los dispositivos conectados, esta herramienta para control de dispositivos I²C también puede utilizarse para analizar las conversaciones entre dispositivos para debugar errores."

Geeky Gadgets

"I2CDriver offers easy control over I2C devices"

Hackaday

Hackaday

"Working with I2C is often a hassle, with many things going on all at once that need to sync up just right in order to work at all, and this device allows the user to set up I2C devices in a fraction of the time."

eenews-embedded-logo

eeNews Embedded

"Both professional and makers will find this a very usefull tool"

Hackster.io

"should be helpful when prototyping, and calibrating, sensors"

I²CDriver is an easy-to-use, open source tool for controlling I²C devices. 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.

I²C is Everywhere

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.

I²CDriver Makes I²C Much More Friendly

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.

The I²C traffic decoder

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 heat map shows all 7-bit I²C addresses

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

I²CDriver driving three 8x8 LED modules

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 “snoops” the traffic and displays 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.

Features

  • 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

Specifications

  • 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

Modules and Carriers

Each module is 18 mm x 18 mm with castellated connectors for power and I²C. You can connect headers to them directly, incorporate them in your own designs, or solder onto carrier boards provided in the Expert and Gold pledge levels. These boards hold three modules each so they are all on a single I²C bus. In a few seconds you can combine modules for a quick prototype.

carrier

Comparisons

Tool Open hardware / software Indicators or display Additional sensors No driver install Host software Price (USD)
I²CDriver Yes Graphic protocol analyzer Bus, voltage, current, temperature Yes GUI, command-line, Python, C/C++, and flashrom $29
Totalphase Aardvark No None None No Command-line, Python, C/C++ $300
FTDI MPSSE cable No None None No C/C++ $27.30
Bus Pirate Yes Power LEDs ADC input Yes Command-line. Python, flashrom $27.15

Pledge Packages

The “Core” package is an I²CDriver with three cable sets.

The “Expert” package is an I²CDriver with hookup wires and 16 I²C modules, all designed and built for this campaign:

  • 1 x 512 Kbit EEPROM
  • 1 x 3D compass
  • 1 x analog knob
  • 1 x IR remote and receiver
  • 2 x precision temperature sensor
  • 2 x accelerometer
  • 2 x real-time clock/calendar
  • 2 x 2-digit 7-segment red LED
  • 2 x color RGB LED
  • 2 x alarm beeper

plus three carrier PCBs for permanently mounting the modules.

The “Gold” package includes 20 I²C modules:

  • 2 x 512 Kbit EEPROM
  • 2 x 3D compass
  • 2 x analog knob
  • 2 x IR remote and receiver
  • 2 x precision temperature sensor
  • 2 x accelerometer
  • 2 x real-time clock/calendar
  • 2 x 2-digit 7-segment red LED
  • 2 x color RGB LED
  • 2 x alarm beeper

plus four carrier PCBs for permanently mounting the modules.

Manufacturing Plan

PCB manufacture is being handled by Boktech in Shenzhen, who did such a great job on SPIDriver. We’re doing the final calibration, assembly, and testing of every unit here in Pescadero, USA.

Fulfillment Schedule

Immediately after the campaign closes, I’ll be placing orders with the manufacturers. We estimate that we’ll have the first batch of rewards tested and shipped by February 2019.

Production and Risks

The designs have been prototyped through multiple iterations. The firmware has been tested with fanatical thoroughness. This mitigates a lot of risk. The remaining risk is in manufacturing execution:

  • There is some risk that the PCBs could be mis-manufactured
  • There is some risk that component availability is lower than needed at the time of procurement, in particular the LCD screen units

These are generally the same issues that may occur with any PCBA fabrication.

Funding ends on Jan 10, 2019 at 03:59 PM PST (11:59 PM UTC)


Credits

Excamera Labs


James Bowman

Creator

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: