Welcome to i2ccom rev.0.1 by Kadir Mueller in 2017. i2ccom gives you access to I2C-devices over USB. All you need is an AVR with serial access to it -- for example an Arduino board. By connecting some terminal program to it, you can issue simple commands to control the hardware I2C-bus of your controller. I'm using i2ccom mainly for debugging I2C-busses. It's just for connecting some I2C-bus anywhere in our home to an Arduino Nano-board which in turn has its console port plugged into some Laptop's USB-port. i2ccom has an hardcoded default baudrate (9600); you may change it in the Makefile. You may also want to change the default chip address (0x50), the MCU (atmega328p) and the clock rate (16MHz, 16000000). Available commands: ls LiSt addresses with devices. cd I2C-ADDR Change current Device to ADDRess. start Issue a start-condition to current device. stop Issue a stop-condition to the bus. rd8 ADDR (COUNT) ReaD COUNT bytes at 8bit-ADDRess from current device. rd16 ADDR (COUNT) ReaD COUNT bytes at 16bit-ADDRess from current device. rd ReaD a Byte from current device without issuing start/stop. wr8 ADDR BYTE... WRite at least one BYTE at 8bit-ADDRess of current device. wr16 ADDR BYTE... WRite at least one BYTE at 16bit-ADDRess of current device. wr BYTE WRite BYTE to current device without issuing start/stop. hex Switch output to HEX. dec Switch output to DEC. lic Show license. help This help. Examples: i2c:0x50# This is the default prompt, showing that everything should be issued to address 0x50. i2c:0x50# ls 0x2a 0x50 0x68 Your controller responds to 'ls' with three addresses of currently connected devices. i2c:0x50# cd 0x68 You're changing the current address to 0x68. I2ccom would show you an error if there's nobody listening. i2c:0x68# rd8 0 8 >0x00 54 23 00 08 00 00 00 00 Starting from address 0, read 8 bytes and show them. i2c:0x68# cd 0x50 i2c:0x50# wr16 0 0xde 0xad 0xbe 0xef Change current address to 0x50 and write the 4-byte-sequence 0xde 0xad 0xbe 0xef starting at address 0. i2ccom uses the TWI-Master library by Peter Fleury. I've used twimaster.c and i2cmaster.h. Please see http://www.theflatnet.de/i2ccom/ for license and more information.