5 SPI Sensors and an SD card - feasible?

Hi, let me preface this by saying I am a relative beginner -

So I have to collect the measurements from 5 SPI sensors - 4 rotary encoders, and an IMU (and some sort of GPS will probably be in there too), and have the data they collect stored on an SD card.

A few questions,
Is this feasible on any of the Arduino microcontrollers?

I could also get I2C output instead of SPI output for the 4 rotary encoders.

Would this make the project more reasonable? If so, what board(s) should I look into?

And lastly, for such a project, are there different products altogether (Raspberry Pi or other) that would be more suited for multiple sensors?

Just want to get some idea of whether this is crazy/stupid/doable/reasonable.

Thank you,


Simply stated YES! This would be a great project for a relative beginner as you state you are. As far as the sensors there are a few things to consider, will they operate in the range you want, are they fast enough. If yes I2C or SPI is fine but I2C is generally a bit simpler in hardware. Since you are starting start with a Arduino UNO or Nano, either should do the job but the NANO has to more A/D inputs if you do not use I2C. If these do not have enough I/O (sensor dependent) use a Mega it will have enough.

Depends on how much and how fast you are collecting data. Without numbers it's impossible to give guidance.

Each SPI device will need its own chip select pin, whereas I believe I2C selects devices by transmitted address. Also, many microSD card adapters do not play well with others. They do not release the MISO line when they are not selected. However, I2C is slower than SPI.

But as others have said, you first really need to pin down what your requirements are. How many readings per second. The other problem is that SD cards have a lot going on in the background that you have no control over, and writes to the card sometimes take a long time.