We’ve got an experimental version of our SPI library working. Like our I2C library, it’s written in Python and uses Python ctypes to drive the low-level interface provided by the kernel.
You can see our usual exciting binary counter demo
We’re driving an MCP23S17 16-bit SPI port extender, and sending the PORTA outputs to a Bar LED display.
There’s still lots of work to do but we’ll be releasing the current code on GitHub shortly.

Hi,
I am trying to read read data from mcp3008 (ADC). Are there any examples on how to read data from this IC?
We should have an SPI example using this chip in the next couple of weeks, once we’ve finished a series of tutorials on I2C. While you’re waiting, there’s a tutorial over at http://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi
It uses bit-banged SPI rather than using kernel SPI, but it should get you going using the MCP3008.
Are you able to share the MCP23S17 16-bit SPI port extender design? Thanks.
The extender is breadboarded. I’ll try to do a fritzing diagram of the layout we used. It will take a day or two as I’ve lots of things to do at the moment :)
Can you say something about how fast SPI with Python will be?
Thank you very much
I’ll do some timing tests, but I won’t be able to for several days.
Hi, did you find time to check on pythons SPI speed?
Thanks