I am new to Raspberry PI. Could I make Raspberry PI as SPI slave? It does not look like it is possible. Please help.

  • 2
    If you explain what data you want to transmit there may be an alternative.
    – joan
    Sep 8, 2015 at 11:53

2 Answers 2


The Raspberry Pis with the 40 pin expansion header do expose the GPIOs needed for the Pi to act as a SPI slave (GPIOs 18, 19, 20, 21).

See pages 102 and 160 SPI/BSC SLAVE BCM2835 ARM Peripherals.

However there is NO usable driver available for the Pi to act in this mode and personally I would not hold my breath waiting for one to appear.

See the latest Raspberry Pi org forum discussion here.


It looks like the Pi's integrated SPI controller (or to be more precisely the one of the three controllers inside the BCM2835 that is wired to the headers) is traditionally used as master only. Obviously the BCM2835 offers an BSC/SPI slave controller (see datasheet pp. 160). Just look up which pins they use at the header. I however did not find any info whether there is some OS or driver support for this part of the BCM.

This site delves a little into the matter to allow the Raspberry Pi to act as SPI slave. Depending on the necessary data transfer rate a few other solutions come to mind, e.g. software SPI using generic GPIO pins.

See also:

Not the answer you're looking for? Browse other questions tagged or ask your own question.