I propose we standardize the extension port communication protocol.
These are the pins exposed through the two expansion ports:

- Power
- Two serial ports (UART0, UART3)
- SPI MOSI
- I2c, or SOFT-SPI (can be MISO)
- GPIO
The two serial ports can enable a daisy chain configuration, and multiple expansion parts can be mix-and-matched.
UART0 is configured as the master, and keeps sending out active sensing commands at intervals.
UART3 is configured as the slave. When active sensing command is received, it reports back the presence.
The hardware SPI doesn't expose MISO and is not suitable as a bus. The I2c is only present on one side of the board, and harder to program. So they are better treated as private expansion ports only visible to the current host.
I propose we standardize the extension port communication protocol.
These are the pins exposed through the two expansion ports:
The two serial ports can enable a daisy chain configuration, and multiple expansion parts can be mix-and-matched.
UART0 is configured as the master, and keeps sending out active sensing commands at intervals.
UART3 is configured as the slave. When active sensing command is received, it reports back the presence.
The hardware SPI doesn't expose MISO and is not suitable as a bus. The I2c is only present on one side of the board, and harder to program. So they are better treated as private expansion ports only visible to the current host.