USB-I2C Interface Adapters Comparison

The Inter-Integrated Circuit (I2C) is a serial bus, designed by Philips. Only two bus lines are used to interconnect all the devices: a serial data line (SDA) and a serial clock line (SCL). This approach improves circuit simplicity and maximizes hardware efficiency. I2C bus is widely used for embedded applications, memory chips, audio and video equipment.

In this article we compare USB I2C interface of several interface adapters. The comparison chart includes adapters from the cheapest on the market to the most powerful ones. Our article can help you choose the best USB-I2C adapter for your purpose.

If you prefer tabular comparison see USB-I2C adapter comparison chart at the bottom of this page.

The Most Important USB-I2C Interface Comparison Parameters

Most USB I2C comparison charts (as well as the chart in the bottom of this page) lists all possible I2C bus parameters. But not all of them are equally important. Some comparison parameters are so self-evident that all USB I2C adapters support them. Below we want to list the most important (from our point of view) USB-I2C comparison parameters:

USB I2C Interface Bandwidth

I2C bus specification defines several speed modes:

  • Standard-mode (Sm), with I2C bus bit rate up to 100 kbit/s
  • Fast-mode (Fm), with I2C bus bit rate up to 400 kbit/s
  • Fast-mode Plus (Fm+), with I2C bus bit rate up to 1 Mbit/s
  • High-speed mode (Hs-mode), with I2C bus bit rate up to 3.4 Mbit/s

All DLN-series USB-I2C adapters support configurable I2C bus frequencyup to 1 MHz (Fast-mode Plus). We didn't see any I2C slave device that supports High-speed mode.

Some USB-I2C adapter vendors specify I2C bus frequency in their documentation, but don't mention the delays in I2C communication. USB I2C Interface Delay According to our experience with other USB-I2C adapters, two types of delays can appear:

  • Delay between successive bytes in a single I2C transfer.
  • 1 millisecond USB interface delay between successive transfers.

All DLN-series USB-I2C adapters work without any delays. Take a look at our I2C Speed article for technical explanation of these delays and the description of how DLN-series USB-I2C adapters get rid of these delays.

I2C interface current limitation

The USB-I2C adapters that support Fast-mode Plus timing specifications need high drive strength at I2C bus lines.

The sink drivers of DLN-1 and DLN-2 adapters are strong enough (20 mA) to satisfy the Fast-mode Plus timing specification with the same 400 pF load as Standard-mode parts.

I2C interface of DLN-4M and DLN-4S adapters has 6 mA current limitation. This limits pull-up resistor value to 550R (at 3.3V). We have tested fast-mode plus with at24 EEPROM and 1.5k pull-up resistors and it works fine. However, we can not guarantee operation with long wire connection or many slave devices attached to USB-I2C adapter in this mode (in both cases line capacitance is increased and this requires to lower pull-up resistor value).

Supported I2C Bus Voltage Levels

It is important to check that USB I2C adapter and I2C slave device operate at the same voltage level.

  • DLN-1 and DLN-2 USB-I2C adapters can operate at 2.3V-5V with external pull-up resistors (3.3V or 5V with on-board pull-ups)
  • DLN-4M and DLN-4S USB-I2C adapters can operate at 2V-3.3V with external pull-up resistors (3.3V with on-board pull-ups)

Our Recommendation of Choosing USB I2C Adapter

If you only need USB-I2C master interface we would recommend you to choose either DLN-1 or DLN-2 USB-I2C adapter. They are cheaper than DLN-4M and DLN-4S USB-I2C adapters and have better I2C bus characteristics (wider voltage range and stronger sink drivers at I2C bus lines). DLN-4M and DLN-4S adapters have significant improvement in SPI and other interfaces, but have weaker USB-I2C master interface.

The main difference between DLN-1 and DLN-2 USB-I2C adapters is how to configure the pull-up resistors. Both adapters can work with external pull-ups. They also have 1.5K and 240 Ohm on-board pull-up resistors. DLN-2 USB-I2C adapter has on-board jumpers to select the appropriate pull-up resistors and voltage level. DLN-1 USB-I2C adapter requires a little bit of soldering to use the on-board pull-up resistors - the selection is done with soldering bridges.

If you need I2C slave interface DLN-4S adapter is your only alternative.

The Similarities of DLN-Series USB I2C adapters

All listed USB I2C adapters comes with open source schematics and many open source GUI applications. After successful evaluation and prototyping you can order the preprogrammed microcontrollers and embed them into your product.

Our USB I2C adapters support asynchronous interface to overcome the USB latency problem. USB bus splits the communication into frames. With synchronous interface, each packet is sent in the separate frame, significantly reducing the bandwidth. We have found no competitive USB I2C adapter that provides the solution for this problem.

All USB I2C adapters have the same API. You can order any of the USB I2C adapters listed below and start your development. You don't need to change your software if you decide to use another USB I2C adapter in the future. Take a look at our demo applications. They work exactly the same way with all DLN-series USB I2C adapters.

USB I2C Interface Comparison Summary

USB I2C Adapter
DLN-1

DLN-2

DLN-4M

DLN-4S
I2C Interface Standard Mode
1kHz - 100 kHz

1kHz - 100 kHz

1,47 kHz - 100 kHz

1,47 kHz - 100 kHz
I2C Interface Fast Mode
400 kHz

400 kHz

400 kHz

400 kHz
I2C Interface Fast Mode Plus
Up to 1 MHz

Up to 1 MHz

Up to 1 MHz

Up to 1 MHz
I2C Bus Voltage (Internal Pull-ups) 3.3V or 5V 3.3V or 5V 3.3V 3.3V
I2C Bus Voltage (External Pull-ups) 2.3V-5V 2.3V-5V 2V-3.3V 2V-3.3V
USB Interface
Full Speed (12MHz)

Full Speed (12MHz)

High Speed (480MHz)

High Speed (480MHz)
I2C Interface Pull-Up Resistors
Configurable with solder bridges

Configurable with jumpers

Configurable with jumpers

Configurable with jumpers
Interfaces
I2C Master Interface
I2C Slave Interface
Additional Interfaces SPI Master Interface
GPIO Interface
ADC, PWM
Pulse Counter
SPI Master Interface
GPIO Interface
ADC, PWM
Pulse Counter
SPI Master Interface
GPIO Interface
ADC, PWM
Pulse Counter
UART
SPI Master Interface
SPI Slave Interface
GPIO Interface
ADC, PWM
Pulse Counter
UART
Event-driven Interface
PC USB Host Powered
I2C GUI Demo Examples



Supported Operation Systems
RoHS Compliant
Price
(PCB board without enclosure)
$58.70 $79.40 $116 $187
Price
(Adapter with enclosure)
$140.90 $211.90

I2C Bus Clock Frequency

The I2C bus frequency is configurable. Three frequency modes are available: Standard Mode (100 kHz), Fast Mode (400 kHz) and Fast Mode Plus (up to 1 MHz).

DLN-1, DLN-2, DLN-4S and DLN-4M USB-I2C interface adapters support Standard (100 kHz), Fast (400 kHz) and Fast Plus (up to 1 MHz) I2C bus frequency modes. A wide range of frequencies from 1 kHz (DLN-1, DLN-2) and 1,47 kHz (DLN-4M, DLN-4S) up to 100 kHz is also supported. The exact I2C bus frequency can be calculated using the following equation Tscl = 10 + 2*n uS. Where Tscl is the clock period; n - is the value that you specify when you call the U2C_SetI2cFreq() function. The API for I2C frequency selection is improved - all you need to do is call the DlnI2cSetFrequency() function, specifying the desired requency in Hz.

I2C Bus Voltage

I2C bus voltage depends on the connected power supply. The bus can be powered either by USB-I2C adapter onboard power source or from external power supply.

  • DLN-1 and DLN-2 USB-I2C interface adapters can operate on 3.3 V or 5 V I2C bus voltage. You can use the onboard voltage and choose between 3.3V or 5 V using respective jumpers. You can connect an external power supply from 2 V to 5 V.
  • DLN-4M and DLN-4S interface adapters support 3.3V I2C voltage only. You can connect an external power supply from 2 V to 3.3 V.

Pull-up Resistors

The I2C lines function in open drain mode. Open drain terminals are connected to ground in the low voltage (logic 0) state, but has high impedance in the logic 1 state. This prohibits current flow, but as a result, such a device requires an external or onboard pull-up resistor connected to the positive voltage rail (logic 1).Pull-up resistors are used to ensure that inputs to I2C lines settle at expected levels, if external devices are disconnected or high-impedance.

  • DLN-2, DLN-4M and DLN-4S USB-I2C interface adapters are equipped with onboard pull-up resistors.
  • DLN-1 PC-I2C PC I2C adapter has configurable pull-ups with solder bridges.
  • If you already have pull-up resistors on I2C bus, you can easily disable the onboard pull-ups by removing the respective jumpers.

Event-driven Interface

In comparison with other interface adapters DLN-4S USB-I2C adapter, received a major addition - the event driven interface.

When DLN-4S USB-I2C interface adapter is functioning in I2C slave mode, it can be configured to send I2C events. You can preconfigure the event generation conditions and carry on with your regular tasks. Once the I2C master addresses the DLN-4S USB-I2C adapter, the adapter takes part in the SPI bus transaction and sends the event to your application via asynchronous interface. You can check the received events at their convenience. Three event types are available.

  1. DLN_I2C_SLAVE_EVENT_READ

    Events are generated when a master device starts reading data sent by a slave via I2C bus. This event is described using the DLN_I2C_SLAVE_READ_EV structure. The information sent to your application includes event counter, event type, I2C slave port number, slave address and the size of the message buffer.

  2. DLN_I2C_SLAVE_EVENT_WRITE

    Events are generated when a master device starts sending data to a slave via I2C bus. This event is described using the DLN_I2C_SLAVE_WRITE_EV structure. Unlike the DLN_I2C_SLAVE_EVENT_READ event, this event also contains actual information received from master via I2C bus.

  3. DLN_I2C_SLAVE_EVENT_READ_WRITE

    Events are generated in both cases - when a master device starts reading or sending data via I2C interface. Depending on actual case, either DLN_I2C_SLAVE_READ_EV or DLN_I2C_SLAVE_WRITE_EV structure will be used to store the event description.

Supported Operation Systems

All listed USB-I2C interface adapters can be used in MS Windows environment.

We are currently working on adding support of other operation systems for DLN-4M and DLN-4S USB-I2C interface adapters.

USB Interface

  • DLN-1 and DLN-2 USB-I2C interface adapters are based on full-speed (12 MHz) USB interface.
  • As long as DLN-4M and DLN-4S USB-I2C adapters use USB high-speed (480 MHz) interface, they provide much faster I2C operation.

RoHS

The Directive on the restriction of the use of certain hazardous substances in electrical and electronic equipment 2002/95/EC (commonly referred to as the Restriction of Hazardous Substances Directive or RoHS) was adopted in February 2003 by the European Union. This directive restricts the use of six hazardous materials in the manufacture of various types of electronic and electrical equipment.

All Diolan products, including DLN-1, DLN-2, DLN-4M and DLN-4S USB-I2C adapters are RoHS compliant.