Easy-to-Use USB to I2C Adapters


Configurable I2C Bus Frequency

You can connect adapter to any I2C device and adjust the frequency to reach the maximum throughput. The I2C bus frequency is configured with a single function call.

Optional pull-up resistors

I2C pull-up resistors are assembled on board, but can be easily disabled if your board already has pull-up resistors. The boards that support I2C bus Fast-mode Plus (Fm+) have additional set of pull-up resistors.

I2C bus voltage 1.2V-5V

The I2C bus voltage can be supplied either by DLN USB-I2C adapter, or by your hardware. The DLN adapters can supply either 3.3V or 5V. External voltage can be in the range from 2V to 5V. The voltage level translator for DLN-4 adapters allows interfacing the I2C bus with voltage level from 1.2V to 3.6V. The exact values depends on specific adapter (see comparison table).

USB bus powered. Provide up to 350 mA of power to your embedded project.

The DLN USB-I2C adapters are powered directly from USB. No external power supplies are required. The USB to I2C adapters can also supply power for your hardware. The amount depends on specific device (see comparison table).

Clock stretching synchronization

Some I2C slave devices require additional time to process the data. Clock stretching allows them to delay the transmission until they are ready.

I2C Multi-Master

DLN I2C to USB adapters can share the bus with another I2C master device. This is important for rapid testing and debugging of closed I2C system.

ID and serial numbers are accessible from software.

Need to interface separate I2C busses simultaneously? You can connect several USB to I2C adapters to the same PC and interface them from the same software. Every adapter is uniquely identified by serial number, assigned during the manufacturing. You can change the ID number from software to prepare similar fixtures with multiple adapters in each fixture.

Asynchronous and Event Driven I2C Slave interface

When you use the DLN-4S adapter as an I2C slave, it waits for I2C master device to start the transaction. You can preconfigure the I2C adapter to send events after transaction. Polling, that wastes computer resources and bus bandwidth, is not required.

Upgrades are free and can be easily applied.

We are constantly working to add new features to our USB-I2C adapters. The upgrade can be applied without disconnecting the USB-I2C adapter from PC. You can use our firmware update utility (open source) or integrate upgrade into your setup.

Free software (downloadable from website)

The USB to I2C adapters come with a set of easy to use software applications. For I2C interface we provide the following programs:

Configures the I2C master interface, writes and reads data over the I2C bus.

Configures the I2C slave interface, loads data to be sent to I2C master device, and logs i2c transactions together with the transfered data.

Logs asynchronous I2C slave transactions as well as events from other interfaces (e.g. digital and analog input pins, pulse and frequency counters, etc.)

Allows configuring the I2C master device and sending I2C transactions from command line or batch file script. Especially useful if you need to combine several I2C transactions as a set.

These applications are free and open source code. You can use them as a starting point for your own software development.

Open Source Examples & Demos

After installing our setup package you’ll get access to dozens open source demos in different programming languages, varying from the simplest to the most advanced.

If you need additional demo or instructions on how to interface DLN USB to I2C adapters from your favorite programming language just contact us. Our engineers and support team will be happy to assist you.

API and Programming

With just a few lines of code you can interface your I2C bus from computer.

#include "..\..\..\common\dln_generic.h"
#include "..\..\..\common\dln_i2c_master.h"
#pragma comment(lib, "..\\..\\..\\bin\\dln.lib")

void main()
  // Establish connection to the USB-I2C adapter
  HDLN device;

  // Configure and enable the I2C master interface
  DlnI2cMasterSetFrequency(device, 0, 100000, NULL);
  DlnI2cMasterEnable(device, 0, NULL);

  // Prepare output buffer
  uint8_t output[8], input[8];
  for (int i = 0; i < 8; i++) output[i] = i;

  // Write data to I2C slave device
  DlnI2cMasterWrite(device, 0, 0x50, 1, 0, 8, output);

  // Read data from I2C slave device
  DlnI2cMasterRead(device, 0, 0x50, 1, 0, 8, input);

  // Print input data
  for (int i = 0; i < 8; i++) printf("%02x ", input[i]);

LabVIEW I2C Libraries and Examples

Labview apps

The LabVIEW package for USB to I2C adapters includes:

  • LabVIEW Instrument Driver
  • LabVIEW I2C master and slave components
  • LabVIEW examples for I2C master and I2C slave interfaces
  • Documentation

You can easily integrate the LabVIEW I2C driver components into any application.

All software examples are free and open source.

read more

Which I2C adapter is right for your application?

Diolan offers many adapters for USB to I2C interface. Below we list the most popular. They differ by form factor, supported frequencies and features. However, they all share the same API and can be easily interchangeable. You would not need to modify your software if you decide to switch to another adapter in the future.


The most popular adapter is DLN-2. This is a middle-price product, but it has most of the functionality you need to start interfacing your I2C slave device.

The I2C lines are available on 2 connectors:

  • The dedicated I2C connector outputs SCL, SDA, VCC and Ground.
  • If you need additional signals (SPI, ADC, PWM, GPIO, etc.), you can connect the standard flat cable to 2x20 pin header.

The voltage level and pull-up resistors are configurable with jumpers.

  • If you need to supply power to your I2C slave device (up to 50mA), you can select either 5V or 3.3V voltage level.
  • If I2C bus is powered from your hardware, the voltage can be any in the range from 2.3V to 5V.

There is an additional set of pull-up resistors for I2C fast mode plus (1MHz).


I2C to USB Adapter DLN-4M

The DLN-4M adapter is available in two variations: with enclosure (DLN-4ME) or without enclosure (DLN-4M). The I2C characteristics are very similar to those of DLN-2 adapter, but it has significant enhancements in other interfaces.

It can provide more current to connected hardware (up to 350mA), but it does not support 5V I2C busses, only 3.3V (if power is supplied by the DLN-4M adapter).

If I2C bus is powered from your hardware, the voltage level can be 2V-3.3V. You can also use our voltage level translator if your hardware operates in the range 1.2V-3.6V.

The DLN-4ME adapter comes in handy plastic enclosure with rubber sides. Two pin headers are hidden inside the enclosure, so the number of accessible input/output lines are limited to 26 (the 26 pin D-SUB connector). I2C bus, as well as other most popular interfaces (SPI, GPIO, ADC, pulse and frequency counters) are present at this connector. You can easily make an elegant cable (or we can do it for you) to connect DLN-4ME adapter to your hardware. Look at our I2C cable. We sell the mating connectors and hoods for it.

USB to I2C Slave Adapter DLN-4SE

The DLN-4S USB-I2C adapter is based on the same hardware as DLN-4M, but it adds support for I2C slave interface (you can use it with your I2C master device).

The I2C slave interface is asynchronous. You load the data (if you need to send data to the I2C master device); all the remaining work is done by the USB to I2C adapter. It waits for I2C master device to initiate the data transfer. After transaction is finished, your software receives event with data sent by the I2C master.

DLN-4S adapter is also available in two variations – with or without plastic enclosure.

DLN-1 PC-I2C/SPI/GPIO Interface Adapter

Our customers use the DLN-1 adapter as a part of their device. This adapter is very small, only 50x40mm.

It’s connectors are not populated, so they can be soldered in a variety of ways. You can also solder the wires directly to the adapter and get the reliable permanent connection.

The pull-up resistors on this adapter are configured with solder bridges.

Unlike DLN-2 and DLN-4 adapters, this adapter does not support Fast-mode Plus. The maximum I2C frequency is 400 kHz (fast mode).


Comparison Chart
USB-I2C Adapter



I2C Interface Frequency 1kHz - 400 kHz 1kHz - 1 MHz 1.47 kHz - 1 MHz 1.47 kHz - 1 MHz
I2C Bus Voltage
(supplied by DLN adapter)
3.3V or 5V (up to 50mA) 3.3V or 5V (up to 50mA) 3.3V (up to 350mA) 3.3V (up to 350mA)
I2C Bus Voltage
(supplied by your HW)
2.3V-5V 2.3V-5V 2V-3.3V 2V-3.3V
I2C Bus Voltage
(with level translators)
No No 1.2V-3.6V 1.2V-3.6V
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
I2C Master Interface Yes Yes Yes Yes
I2C Slave Interface No No No Yes
Additional Interfaces
  • SPI master (4MHz)
  • 32 digital I/O
  • 4 analog inputs
  • 1 PWM output
  • 1 Pulse counter
  • SPI master (18MHz)
  • 32 digital I/O
  • 8 analog inputs
  • 2 PWM outputs
  • 2 pulse counters
  • SPI master (48MHz)
  • SPI Flash interface
  • UART interface
  • 48 digital I/O
  • 8 analog inputs
  • 3 PWM outputs
  • 3 pulse counters
  • SPI master (48MHz)
  • SPI slave
  • SPI Flash interface
  • UART interface
  • 48 digital I/O
  • 8 analog inputs
  • 3 PWM outputs
  • 3 pulse counters

Additional Interfaces

In addition to I2C interface, DLN series adapters also support:

  • SPI master and slave interfaces
  • SPI Flash interface
  • GPIO (General Purpose Inputs and Outputs)
  • ADC (analog to digital converter)
  • Pulse and frequency counters
  • PWM (pulse-width modulation)
  • UART

We have many customers that used our adapters to interface I2C device in one project, appreciated how easy it is. Later they used the same adapters in other projects that required additional interfaces.

Embed USB-I2C bridge in your hardware

All DLN series USB to I2C adapters are also available as system-on-chip.

You can significantly reduce your solution cost by embedding chips with our firmware in your hardware.

Our engineers will be happy to assist you during the integration. This way you will get the low cost solution that is fully compatible with Diolan adapters and can be used with the same software and API.

Try USB to I2C Adapters with No Obligation

Test Drive is a unique program offered by Diolan to assist you in evaluating and selecting the best interface adapter for your task. You will have 45-days risk free experience.

If the adapter does not satisfy your requirements, you can either return it back or exchange it to another adapter. The difference in price will be refunded.

Contact Us

Have additional question or can’t find the required information? Contact us by using the form below:

* Required Fields

How to Order

Order Online

Products can be purchased directly from our web site. The payment is safe. We don't collect credit card numbers. We even don't know them. All the payments are processed securely by PayPal.

Request a Quotation

To request a quotation add items to your shopping cart. From shopping cart you can click the link "Request a Quotation", specify your shipping address and we will send you the formal quotation.