


There is always only one controller (which is almost always your microcontroller), but there can be multiple peripherals (more on this in a bit). The side that generates the clock is called the "controller", and the other side is called the "peripheral". In SPI, only one side generates the clock signal (usually called CLK or SCK for Serial ClocK). You might be thinking to yourself, self, that sounds great for one-way communications, but how do you send data back in the opposite direction? Here's where things get slightly more complicated. OSHWA: A Resolution to Redefine SPI Signal Names.For more information, check out the following links. The naming convention may vary depending on manufacturer, programming language, companies, or organizations. The terms are considered obsolete and are now replaced with the terms "controller" and "peripheral," respectively.

Check out this page for more on our reasoning behind this change. SparkFun has joined with other members of OSHWA in a resolution to move away from using "Master" and "Slave" to describe signals between the controller and the peripheral. Note: You may not recognize the PICO/POCI labels for SPI pins.
