user60829: I was trying for one month to make multiple RC522 rfid readers work together on SPI on an arduino yun, one works fine, but if I plug 4, each with a specific slave select, only one, sometimes 2, sometimes none are working.
The library i use is RFID.h (i think the miguelbalboa one) , but I had the same results with MFRC522.h wich have a specific readUidMultiReader so I dont think my code is at fault.
Searching for this issue, I found this question wich is basically my issue, as I suspect the readers I bought are not supporting multidrop. These readers dont work either.
I read about solutions using multiplexers for SPI lines, tristate buffers on miso lines and/or diodes but these are workarounds, and there should be a more straightforward solution.
Also I tested with no resistors most of the time, but tried putting 10kΩ from all MISO to 3v3, no change, as i really dont understand what their use are, even if I feel they could be mandatory.

I am using a yun for the builtin ethernet, because I tried nanos with ethernet shields and again the shields are ignoring the Slave select and thus not working with spi multidrop, so each time I plugged the shield on nano, even not using it, rfid stopped working.


user60070: Multiple SPI devices on the same bus shouldn't be a problem. I would try the following steps to narrow down the problem:

Add Pull-Up resistors to each CS line (10k should be enough)
(The is no need for resistors on the MISO, MOSI or CLK lines since they a push/pull when active)
Make sure each CS is set to HIGH before you attempt to access the reader
Use a simple sketch that only access 1 reader.

if you could access the first reader -> change the sketch to use the second one without changing the hardware setup. Continue until you've checked all readers.
if you are not able to communicate with one reader, you still have a bug in your hardware setup

When the readers work independently, you could start to write your sketch using more than one at a time. (depending on the libraries this could be quite difficult since the lib must support multiple instances, but first we should check the hardware setup)


60829: <p>I was trying for one month to make multiple <strong>RC522 rfid readers</strong> work together on SPI on an arduino yun, one works fine, but if <strong>I plug 4</strong>, each with a specific slave select, <strong>only one, sometimes 2, sometimes none are working</strong>.</p>

<p>The library i use is <code>RFID.h</code> (i think the miguelbalboa one) , but I had the same results with <code>MFRC522.h</code> wich have a specific <code>readUidMultiReader</code> so I dont think my code is at fault.</p>

<p>Searching for this issue, I found <a href="https://arduino.stackexchange.com/questions/18313/issue-sharing-miso-with-multiple-rc522-rfid-readers">this question</a> wich is basically my issue, as I suspect <a href="https://www.amazon.fr/AZDelivery-lecteur-Arduino-Raspberry-d%C3%A9marrage/dp/B074S9FZC5/ref=sr_1_2" rel="nofollow noreferrer">the readers I bought</a> are not supporting multidrop. <a href="https://www.gotronic.fr/art-module-rfid-13-56-mhz-vma405-25477.htm" rel="nofollow noreferrer">These readers</a> dont work either.</p>

<p>I read about solutions using <a href="https://github.com/miguelbalboa/rfid/issues/191#issuecomment-242631153" rel="nofollow noreferrer">multiplexers</a> for SPI lines, tristate buffers on miso lines and/or <a href="https://github.com/miguelbalboa/rfid/issues/290#issuecomment-549559010" rel="nofollow noreferrer">diodes</a> but these are workarounds, and there should be a more straightforward solution.</p>

<p>Also I tested with <strong>no resistors</strong> most of the time, but tried putting 10kΩ from all MISO to 3v3, no change, as i really dont understand what their use are, even if I feel they could be mandatory.</p>

<hr>

<p><em>I am using a yun for the builtin ethernet, because I tried nanos with ethernet shields and again the shields are ignoring the Slave select and thus not working with spi multidrop, so each time I plugged the shield on nano, even not using it, rfid stopped working.</em></p>

<p><a href="https://i.stack.imgur.com/PDIKZ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/PDIKZ.png" alt="wiring"></a></p>
 60070: <p>Multiple SPI devices on the same bus shouldn't be a problem. I would try the following steps to narrow down the problem:</p>

<ol>
<li><p>Add Pull-Up resistors to each CS line (10k should be enough)<br>
(The is no need for resistors on the MISO, MOSI or CLK lines since they a push/pull when active)</p></li>
<li><p>Make sure each CS is set to <code>HIGH</code> before you attempt to access the reader</p></li>
<li><p>Use a simple sketch that only access 1 reader.</p>

<ul>
<li>if you could access the first reader -> change the sketch to use the second one without changing the hardware setup. Continue until you've checked all readers.</li>
<li>if you are not able to communicate with one reader, you still have a bug in your hardware setup</li>
</ul></li>
<li><p>When the readers work independently, you could start to write your sketch using more than one at a time. (depending on the libraries this could be quite difficult since the lib must support multiple instances, but first we should check the hardware setup)</p></li>
</ol>
