И UART и SPI предполагают подключение точка-точка. Если нужно связать более 2х девайсов придется делать какую то обвязку. Так что в этом случае (БОЛЕЕ 2х девайсов) - I2C предпочтительнее. Если же девайсов 2 - то предпочтительнее использовать то, что останеться на них свободным

Сложность обслуживания всех 3х вариантов реализации около 0.