Osobně bych použil asynchronní obousměrnou komunikaci pomocí UART přímo v MCU a oddělit je optočleny.