i2ctinyusb(4)

i2ctinyusb4

Driver for a usb / i2c bridge device

Usage

To compile this driver into the kernel, place the following lines in your kernel configuration file:

device i2ctinyusb device usb device iicbus

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

i2ctinyusb_load="YES"

Overview

The i2ctinyusb driver provides support for the device designed by Till Harbaum known as i2c-tiny-usb. This is initially a very simple circuit built with an Atmel AVR ATtiny45, but a Raspberry Pi Pico (RP2040) implementation also exists.

The i2ctinyusb driver creates a iicbus(4) child bus to expose the iic functions, enabling I2C sensors, converters and displays to be connected to any computer with a USB port.

More information about this device can be found at:

https://github.com/harbaum/I2C-Tiny-USB

and (for the Raspberry Pi Pico version):

https://github.com/Nicolai-Electronics/rp2040-i2c-interface

The I2C controller supports read and write transactions with up to 1024 bytes of data, and a write followed by the repeated start followed by a read transactions up to 1024 bytes. Zero length transfers are not supported.

Releases

Unchanged in 3 releases since FreeBSD 15.0-RELEASE.

  1. 15.0–16.0

History

The i2ctinyusb driver and this manual page was written by Denis Bodor ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.