Paul over at Dorkbotpdx has written an article on 3 steps to good SPI Bus design:
A much better SPI bus design can prevent conflicts. 3 simple improvements are needed:
- Use pullup resistors on all chip select signals.
- Verify tri-state behavior on MISO: use a tri-state buffer chip if necessary.
- Protect bus access with SPI.beginTransaction(settings) and SPI.endTransaction().