from machine import Pin, SPI
# Initialize SPI0 as a Target (Slave)
spi = SPI(0, baudrate=100000, polarity=0, phase=0, sck=Pin(2), mosi=Pin(3), miso=Pin(4))
cs = Pin(5, Pin.IN, Pin.PULL_UP) # Listen for CS signal
print("Waiting for data...")
while True:
# Wait for the Controller to pull the CS pin low
if cs.value() == 0:
# Create a buffer to read incoming data
data = bytearray(3)
spi.write_readinto(bytearray(3), data)
# Make sure transmission is complete
while cs.value() == 0:
pass
print("Received:", list(data))SPI CS (5)
SPI MISO (4)
SPI MOSI (3)
SPI SCK (2)
SPI GROUND
CONNECTION TO MASTER RPP
SPI PROTOCOL