ジャンル不定の日記です。

I2C-cm3-USB

STM32F042用のI2C-Tiny-USB互換ファームウェアです。
標準のI2C-Tiny-USBドライバで認識します。
libopencm3を利用するのでcm3にしてますがSTM32F0はCortex-M0です。
libopencm3以外のAPIは使用していないので、libopencm3が対応するUSB搭載マイコンなら移植は難しくないんじゃないかと思います。

I2Cの機能フラグは確認したもの以外はコメントアウトしているのでI2C-Tiny-USBの全機能に対応していません。
無効機能の中にはフラグの追加だけで機能するものもあるかもしれません。

標準でSWDIO(PA13)とSWCLK(PA14)を使用する様になっています。
DFUが利用できない場合は変更が必要です。
標準だとPF0とPF1以外は全ピン使用します。

USB to I2C以外に、
USARTブリッジ
仮想PCF8574(GPIOエクスパンダ)
仮想PCA9685(PWM LEDコントローラ)
仮想MCP3221(ADコンバータ)
の機能があります。

PCF8523のボード

前に作ったorange pi r1用のPCF8523のボードだが、制作中のGPIOボードのテストのために接続したりで何回か外してるんだが、
どうもorange piから外すと結構な確率で初期化される模様。