This article introduced SPI as a protocol and expanded it to exchange messages.
The goal was to build an interface for a compute device. In this the compute device will be an FPGA and perform math operations such as add, subtract, multiply, divide and square root. It will get its operands from a SPI master implemented on an Arduino. The master writes the operands to the corresponding registers and reads the results. The implementation will be the subject of our next article.