SPI main module