UI & Controller connections with H7 OV7725 + LCD shield

Hi,

I’m trying to revive a project and I’m trying to do the following:

  • Connect to main controller via UART (since the cam has a harder time being a I2C slave)
  • Simple UI with 5-way switch (Incr, decr, prev, next, OK) to adjust several parameters displayed on the tiny LCD with a MCP23008 (8-bit I/O expander) via I2C.

Looking at the H7 and LCD shield pinout, I only have pins P1, P4, P5 and P9 unused.

  • Should I use P4 & P5 as UART’s TX & RX to main controller to pass data back and forth?
  • Can P5 & P9 be defined as a slow I2C port to the MCP23008 I/O expander? Or is there a better way to do this… like sharing the SPI bus with the LCD and a MCP23S08 instead?

Thanks

  • Should I use P4 & P5 as UART’s TX & RX to main controller to pass data back and forth?

Yes, you can do this.

  • Can P5 & P9 be defined as a slow I2C port to the MCP23008 I/O expander? Or is there a better way to do this… like sharing the SPI bus with the LCD and a MCP23S08 instead?

Use SoftI2C: class I2C – a two-wire serial protocol — MicroPython 1.22 documentation (openmv.io)

Thanks! I can start wiring everything now!