SPI, on the other hand, is very easy to understand and to implement and offers a great deal of
flexibility for extensions and variations. Simplicity is where the elegance of SPI lies. SPI should
be considered as a good platform for building custom protocol stacks for communication
between ICs. So, according to the engineer’s need, using SPI may need more work but offers
increased data transfer performance and almost total freedom.