This is an alternative to FTDI MPSSE and similar USB-to-I2C adapters. It presents an ASCII text interface over a USB-Serial port. No special drivers are needed since USB ACM is supported natively by most operating systems. It can be used for either manual interactive or programmatic operation. It is based on a cheap off-the-shelf Adafruit Trinket Cortex M0 board.
Features include:
Support for 10 KHz to 1 MHz SCL clock rate.
Support for repeated start.
Support for clock stretching by the slave device.
Support for bus scanning.
Support for bus lockup recovery by sending 9 or more clocks with SDA high.
Optional SDA/SCL pullups to 3.3V (disabled by default).
Up to 255 bytes can be read and/or written per transfer.
High performance transfers.
Cost: $10.
Project files are available on github.