SPI – Serial Peripheral Interface
A serial communication interface used to send short distance communucation in embedded systems.
It is commonly used to send data between microcontrollers and small peripherals such as shift registers, sensors, and SD cards.
It uses separate clock and data lines, along with a select line to choose the device you wish to talk to.
Devices communicating via SPI are in a master-slave relationship. The master is the controlling device (usually a microcontroller), while the slave (usually a sensor, display, or memory chip) takes instruction from the master. The simplest configuration of SPI is a single master, single slave system, but one master can control more than one slave (more on this below)