I have been brainstorming a project to use an Arduino for an autonomous plane and was wondering about what communication protocol would be the best to use to talk between the Arduino and the sensors/servos.
I read that SPI is faster then I2C but from what I can see I2C looks a lot easier to use then SPI. Is the speed difference that large, and if so would just using a CAN Bus system be better?
Each protocol has its advantages and disadvantages compared to others.
The protocol to be used in your project will depend on which protocol your sensor uses.
If you find devices that allow the use of different protocols, you should look in its datasheet to find the best result or ease of use it can offer in each protocol.
You might explain the plain as to size, power available, etc. Ithink it is not an Airbus or 747, maybe a Cessna? What size are the sensors and actuators that you need to control. What is the liability if a system fails? I can grab one of many protocols out of the air but the best would be to know the exact application, environmental, amount of data, latency, etc. Wire length of SPI and I2C are short, CAN several thousand feet depending on data rate. There are various speeds to both SPI and I2C so I cannot answer that as asked.