Ethernet Shield + SD card?

I've been experimenting with arduino for a few days now (duemilanove with ethernet shield) but I'm kind of stuck with my project.
All the schematics I've seen for using a SD card make use of the SPI pins for this purpose, which are already taken by the Ethernet shield...
I want to know if someone has been successfully at doing these two things at once, the SD operation needed is not intensive (a few raw bytes by minute)...
Maybe I should start looking into SPI switching?

Thanks in advance!

Multiple devices can use the same SPI pins. Each device has a "CS" pin - it stands for chip select. You assign each devices' CS pin a different pin on the arduino. When you want to use the device, you select it by putting the corresponding microcontroller pin into the correct state.

In general, SPI is a shared bus with each peripheral having a unique CS line.

But: the official arduino ethernet shield uses a Wiznet device which is not a well-behaved SPI peripheral in that it does not out MOSI in a high impedance state when CS is inactive. It will do so if an additional line is driven, but unfortunately the board designers chose not to implement that.


There was a thread on this very subject within the last month or so, in which a few people looked into how to mod the Ethernet shield to fix the MISO problem. I’m pretty sure that the conclusion was that it was not very difficult to do the hack.

The “Forum Search” box is your friend :slight_smile:


Good! Let's start reading about SPI and modding the Ethernet shield then :slight_smile: