As a quick test I tried out SPI with the MAX31855 thermocouple sensor, but it looks like at least with read calls you only get back 0x00 value bytes.
import machine
spi = machine.SPI(baudrate=5000000, polarity=0, phase=0, MOSI=machine.Pin('MOSI'), MISO=machine.Pin('MISO'), clock=machine.Pin('SCK'))
spi.init()
cs = machine.Pin('D6', machine.Pin.OUT)
cs.high()
# Read a temp reading.
cs.low()
data = spi.read(4) # Read 4 bytes
cs.high()
print('Received: {0}'.format(data)))
The result from spi.read(4) is a byte string with 4 zero values, however if you look at the trace on the wires with a Saleae we're actually receiving data from the chip (channel 0 is CS, channel 1 is clock, channel 2 is the data out / MISO line with the response data from the chip, it's not all zeros):
![screen shot 2016-10-14 at 6 08 04 pm](https://cloud.githubusercontent.com/assets/1332183/19406362/3bee732c-9239-11e6-8128-22b6925888b2.png)
Likely there's some plumbing to be done to get the MicroPython SPI interface working with what's supported internally for SPI flash. Opening bug as a reminder and example to test with later since SPI is still a work in progress.