The presented controller is used to convert the system with an OLED display to a color LCD display. The controller was built on the HK32F030MF4P6 microcontroller (they were cheap, I still have some left ) Source code in the attachment, so possible conversion to STM32F030 or other modifications should not be a problem. 1-bit color from a 16-color palette (if you want, you can change it to a full 12b palette). The maximum transmission speed of I2C 1MHz. To achieve such high speed, I wrote some of the code in assembly language. Display used: 160x80, IPS, ST7735. After minor modifications to the code, you can use a larger one (e.g. 320x240). If someone has such a fantasy, he can also connect several systems on one I2C bus, you only need to program a different address for each.
Commands: Address 0x78: As in OLED, RASET [0x00 / 0x10], CASET [0xB0], RAMWR [0x40]. Address 0x7C: Color [4bit background, 4bit pixel]
Diagram: Do not be influenced by the description of the microcontroller leads. By laziness, I used the STM8S library.
Demonstration of operation: IPS 160x80 OLED and controller connected in parallel at the same address. Mini pcb with HK32F030MJ4M6 microcontroller generates a test image.