I2CTINYUSB(4)

πŸ“¦ version 15.1, in freebsd 15.1, nixpkgs unstable

πŸ¦‹ i2ctinyusb(4) β€” fresh from the Kernel Interfaces Manual πŸ¦‹

okay so bestie, this is the manual page for a tiny USB-to-I2C bridge driver, and yes it's as cute as it sounds. Let's get into it. πŸ’…

πŸ’– NAME πŸ’–

i2ctinyusb β€” the driver for a USB / I2C bridge device. That's the whole vibe: USB on one side, I2C on the other, slaying the connection. ✨

πŸ’» SYNOPSIS πŸ’»

Want this driver baked into your kernel? Add these lines to your kernel configuration file:

device i2ctinyusb
device usb
device iicbus

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

i2ctinyusb_load="YES"

πŸ¦‹ DESCRIPTION πŸ¦‹

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. Iconic. πŸ‘‘

The 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. It's giving tiny bridge, huge main character energy. 🫢

More info about this device lives 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.

🚨 Heads up bestie: zero length transfers are not supported at all. The driver said what it said. πŸ’…

πŸ‘€ SEE ALSO πŸ‘€

πŸ“œ HISTORY πŸ“œ

The i2ctinyusb driver and this manual page was written by Denis Bodor <dbodor@rollmops.ninja>. We stan a creator who documents their work. 🌸


mwah πŸ’‹ β€” this page is from Debian, dated February 18, 2024. Bye bestie! 🌈

πŸ“¦ where this page comes from