SPI Signal Renaming
Posted:

This morning's weekly email update from the fine folks at Sparkfun, one of my favorite suppliers of electronics components and ideas, alerted me to an effort to rename the signals used in SPI. If you're not familiar with it, SPI is the "Serial Peripheral Interface", a widely used protocol for communicating among devices such as sensors, actuators, and microcontrollers. SPI was introduced in the 1980s and is a de facto standard, stewarded collectively by the industry rather than any formal standards body. At the time it was developed SPI used relativlely common language of the day to characterize the two interoperating devices as "master" and "slave". That's a problem. As Sparkfun puts it, the technology world can do better.

The Open Source Hardware Association (OSHWA) and supporters like Sparkfun have stepped up to propose a new naming scheme for SPI. Going forward we'll refer to the two interoperating devices as "controller" (which is orchestrating the information flow) and "perhipheral" (the recipient), with new names for the signals involved as follows:

More details and an FAQ are on the OSHWA web site. Because SPI is a de facto standard there's no standards working group to convince or formal approval process to navigate. All of us, educators, engineers, designer, and community, can just start using the new names. I am modifying my project code today to embrace this long overdue scheme and look forward to suppliers like Sparkfun doing so in their products and documentation.

And there's much more work to do to address other uses of master/slave terminology, which OSHWA and its supporters are working on too. It'll be good to see those changes come forward, and to eagerly adopt them as they do.

#maker #oshw