I have an Arduino UNO, a NRF24L01 as receiver (receive data from elsewhere), and this touch screen from Adafruit for display and control.

The Adafruit TFT is a shield so it fits the UNO perfectly.

I wonder if this TFT shield can share SPI pins with NRF24L01?

Given that I use pin 10 (=SS) for TFT and pin 8 (=SS) for NRF24L01, with set (SS, low) to toggle between two slaves (TFT and nRF24)?

Somehow it doesn't work once I start to share SPI pins (11, 12, 13) between two slaves.

  • 1
    Did you check the schematics for the TFT? cdn-learn.adafruit.com/assets/assets/000/013/453/original/…. Looks like pin 8 is already in use. – Mikael Patel Sep 30 '16 at 19:03
  • The TFT you mention is much more than just a TFT, it seems to include a touch screen and also a SD card reader. Depending on what parts you use, the list of pins available may differ. – jfpoilpret Sep 30 '16 at 19:13
  • I think you'll need to show more of what you've done so far (NRF24L01 wiring, code for your sketch, debug traces...) as of now, it is rather difficult to answer your question with the little description you made of your problem, – jfpoilpret Sep 30 '16 at 19:16
  • 1
    You also have to ensure any libraries that also use SPI are capable of operating with multiple SPI devices on the same bus. Another thing you have to look out for is with certain SPI devices is that they lock up the bus making it impossible to use more than one device on the bus. There are a lot of variables you need to define before we can help you more. So, what TFT library and what nRF24 library are you using? – Avamander Sep 30 '16 at 22:29
  • Why not use SoftwareSPI with the NRF24L01? IIRC, the maniacbug and tmrh20 NRF24 libraries both support it. It would also prevent the issues mentioned by Avamander. – TisteAndii Sep 30 '16 at 23:01

Browse other questions tagged or ask your own question.