ifusb is a simple toolkit to access GPIO/UART/SPI/I2C from USB host through microcontroller.
It was initialy attended for use with [coming soon] eink panel controller project, but can be used as a tool for any project, like a Bus Pirate board or a FT2232 chip.
The ifusb board use STM32F042 TSOP chip with libopencm3 for microcontroller side, and libusb for host side.
A simple C API is provided, as well as an example of SPI flash chip programmer (used to program https://www.olimex.com/Products/FPGA/iCE40/iCE40HX1K-EVB/open-source-hardware
Board exactly includes : one SPI + one I2C + one UART + 6 GPIO.