I've done some research, but not probably not enough, as I'm still confused some.

First of all, I've got a Pi rev 1 Model B (with the 26 pin connector) and two devices: The Waveshare AD/DA board and e-ink display HAT form factors. They share the MOSI and SCLK pins, but the AD/DA board appears to use gpio pins 15 and 16 for CS0 and CS1, whereas the display uses spi pin 24. If I understand correctly, should I be able to get both devices to work as long as I get the timing on the chip selects right? I saw one post that specifically mentioned not using pin 24 (CEO) when trying to get more than 2 devices working together. Is there a reason for that???

Lastly, the devices also share pin 11, but I have a free gpio, pin 7. The next question is, via wiringPi (or something else?), can I reassign that pin for the display while not confusing the AD/DA board? I can easily physically wire that (pin 7) to the pin position that the HAT expects it, but I'm not sure if assigning a different pin via software is universal or can be done for a particular instance (ie display and not the ad/da board).

I know I've got to read up more on this, but it'd be nice to know if I'm trying something impossible.


  • Take a look in /boot/overlays/README there are supplied overlays to enable more than two SPI interfaces. You're right the problem is CS/CE pins.
    – Dougie
    Nov 26, 2019 at 8:58
  • Whoa... there's a lot in there... Thanks. Will try and make sense of it all. But at the same time, is there an explanation or a link to one, as to why the problem is the CS/CE pins?
    – klatk
    Nov 27, 2019 at 0:29
  • Each SPI bus takes three GPIO for MISO MOSI and CLK. Each device on an SPI bus takes one GPIO for CE/CS. You'll soon run out of GPIOs that are on the 40 pin header pinout.xyz
    – Dougie
    Nov 27, 2019 at 7:42
  • Hi Dougie, thanks for responding. I actually only have the 26 pin header so I'm even more limited. But in essence, I think my question is, if I have a devices that are using the MISO MOSI CLK and 2 GPIOS for chip select, what is wrong/the problem, if I have another device that wants to use the actual CE pin for chip select? Or is there a problem? I'm asking because I'd read in a post that it was, but I didn't understand why. Intuitively, it feels like as long as I have set the timing correctly, I should be able to get it all to work.
    – klatk
    Nov 27, 2019 at 18:32

1 Answer 1


You can use any spare GPIO as a chip select as far as the Linux kernel SPI driver on the Pi is concerned.

Whether a HAT or other device can use that GPIO as a chip select depends on several things.

  • Is the GPIO used by the HAT or other device hard wired by the HAT or other device
  • Have you got access to the HAT or other device software to make the needed change

You will need to investigate on a case by case basis.

  • Thanks. The HAT is hardwired, but as it turns out, I will have to not actually use it as a HAT (originally purchased for use with a Pi Zero, but now to be used with a Pi Model B) and will be able to physically provide signal to the expected pin, and via software, send that signal through an unconflicted GPIO. So that takes care of my second question. The first question, the CS/CE one, I'm still not quite sure on.
    – klatk
    Nov 27, 2019 at 0:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.