SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
User avatar
By roach
#15105
I'm working on an mp3 player (real original, I know, but I have to start somewhere) that will use microSD, the VS1002, and the OLED display, all from SparkFun. All of these use SPI to interface with the uC. Having never done any SPI before (apart from programming some atmegas from the PC), I'm wondering if it's even possible to have all these devices share the same SPI bus without contention. How do I do this? Do I use the various CS pins on each device to "Select" the device before communicating?

Has anyone worked with this OLED display before? Are there any schematics I could take a peek at?
By NleahciM
#15106
roach wrote:I'm working on an mp3 player (real original, I know, but I have to start somewhere) that will use microSD, the VS1002, and the OLED display, all from SparkFun. All of these use SPI to interface with the uC. Having never done any SPI before (apart from programming some atmegas from the PC), I'm wondering if it's even possible to have all these devices share the same SPI bus without contention. How do I do this? Do I use the various CS pins on each device to "Select" the device before communicating?

Has anyone worked with this OLED display before? Are there any schematics I could take a peek at?
You're exactly correct - when an SPI slave is not selected via the CS pin, all three of its SPI pins are high impedance, so essentially don't exist. Thus it is possible to have many many SPI slaves all on one bus.