ProtocolsQUICK REFERENCE
SPI
A shared clock and data bus with a separate chip-select for each device.
01Signals
- SCK
- Controller-generated serial clock.
- MOSI / COPI
- Controller output → peripheral input.
- MISO / CIPO
- Peripheral output → controller input.
- CS / SS
- Select line, usually active LOW; one per peripheral.
02Multiple devices
- Shared
- Share SCK/MOSI/MISO and GND; give each device its own CS.
- Idle
- Keep every unselected CS inactive, including during boot.
- Bus release
- Unselected peripherals must release MISO; some modules need buffering.
03Configuration
- Mode
- Match CPOL/CPHA (mode 0–3), bit order and maximum clock rate to the device.
- Uno / Nano
- MOSI D11, MISO D12, SCK D13; CS example D10.
- Transactions
- Set device settings, assert CS, transfer bytes, deassert CS. Arduino: beginTransaction/endTransaction.