I²CMini Core

by Excamera Labs

I²CMini is a USB to I²C bridge. It can drive and monitor I²C traffic and measures just 18 mm square.

It has a micro USB connector, a Qwiic connector on the I²C side, and .1" pins for a breadboard or pin header. I²CMini is 100% compatible with I²CDriver, and like I²CDriver it’s an easy-to-use, open source tool for controlling I²C devices. It has a GUI that works with Windows, Mac, and Linux, and it has first-class Python2/3, C/C++, and command-line tools.

I²CMini is particularly well-suited for applications like IoT and drones, cleanly separating your SBC from the I²C bus. Because it is totally compatible with I²CDriver, you can develop on the I²CDriver and deploy on the I²CMini.

Like I²CDriver, it works equally well with Windows, Mac, and Linux. 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 for your I²C sensors and peripherals.

On the I²C side, I²CMini has the same four-pin header for connecting to peripherals as the I²CDriver. You can solder directly to this .1 " header. It also offers a Sparkfun Qwiic-compatible connector. Qwiic is a new standard for building I²C networks without soldering.

I²CMini 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

Like I²CDriver, it can both drive and listen on the I²C bus, and it has the same programmable pullup resistors for both I²C lines.

Who Needs It and Why?

If you want to connect an I²C peripheral to a CPU with USB, I²CMini is the ideal interface. Its straightforward Open Source hardware and software design make it the maker’s choice.

Show I²C Devices Who’s Boss

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 easier when done directly on the PC.

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

A Tiny Bridge

At 2.1 g and 18 x 18 mm, the I²CMini will fit into the tinyiest projects, so after developing on the full-size I²CDriver, you can drop the I²CMini into small spaces like drones and IoT devices.

A Solid Platform for Your Embedded I²C Network

Because it uses the same proven firmware and toolchain as I²CDriver, I²CMini is the solid, reliable choice for driving your sensors and peripherals. Its a straightforward interface - it appears as a standard serial device - giving you a high level of portability and maintainability. There are no special drivers to install, so code for I²CMini and I²CDriver can work on any platform.

Features

  • Open hardware: the design, firmware and all tools are under BSD license
  • Fast transfer: sustained I²C transfers at 400 and 100 kHz
  • I²C pullups: programmable I²C pullup resistors, with automatic tuning
  • Dual I²C ports: a castellated .1" header, plus a Qwiic standard connector
  • Jumpers: color coded Qwiic jumper included, for instant connection
  • 3.3 V 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: 270 mA
  • Device current: up to 25 mA
  • Dimensions: 61 mm x 49 mm x 6 mm
  • Computer interface: USB 2.0, micro USB connector