Como otros han dicho, SPI e I2C se pueden usar a largas distancias siempre que las resistencias pull-up, las frecuencias de reloj, etc.
Las principales alternativas (que proporcionarán una mejor inmunidad al ruido) son RS485 y CAN . Ambos utilizan líneas diferenciales para minimizar los problemas de ruido y se adaptan mejor a esta longitud de transmisión de datos que I2C o SPI. Sin embargo, no creo que muchos AVR (¿alguno?) Vengan con periféricos CAN integrados, lo que hace que el uso de CAN sea mucho más fácil.
Diría que lo más importante a tener en cuenta al elegir un bus es asegurarse de que el protocolo que utiliza para comunicarse entre dispositivos incluye un CRC o equivalente para que pueda determinar si un mensaje se ha recibido correctamente (CAN lo tiene como parte de el paquete). Teniendo esto en cuenta, también es útil tener una respuesta de tipo ACK / NACK como parte del protocolo para que un mensaje dañado pueda retransmitirse.