SparkFun Simultaneous RFID Reader - M6E Nano: Reading Different Tags Simultaneously

On my Arduino Uno board, I am trying to use the SS RFID Reader to read multiple different RFID tags within a short span of time (all in close proximity to either an external or on-board antenna).

I am using the code in the Example1_Constant_Read, but I am not being able to figure out how to do this. I have multiple tags close to my antenna but I keep seeing the same EPC returned in the parsed response message. Here is an example output from my Software Serial Monitor:

10:11:56.312 ->  rssi[-45] freq[925400] time[431] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.346 ->  rssi[-41] freq[922200] time[467] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.381 ->  rssi[-43] freq[922400] time[500] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.414 ->  rssi[-45] freq[917600] time[535] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.449 ->  rssi[-46] freq[920400] time[569] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.485 ->  rssi[-47] freq[925800] time[604] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.521 ->  rssi[-48] freq[920600] time[639] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.555 ->  rssi[-48] freq[924200] time[673] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.588 ->  rssi[-49] freq[918000] time[707] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.623 ->  rssi[-48] freq[927200] time[740] epc[E2 00 47 05 87 E0 60 26 DB 60 01 0E ]
10:11:56.871 -> Scanning
10:11:57.755 ->  rssi[-51] freq[923000] time[872] epc[E2 00 47 05 8A 20 60 26 DB 84 01 0C ]
10:11:57.791 ->  rssi[-51] freq[918200] time[907] epc[E2 00 47 05 8A 20 60 26 DB 84 01 0C ]
10:11:57.893 -> Scanning
10:11:58.873 -> Scanning
10:11:59.902 -> Scanning
10:12:00.879 -> Scanning
10:12:01.578 ->  rssi[-49] freq[926200] time[670] epc[E2 00 47 05 78 A0 60 26 DA 6C 01 0D ]
10:12:01.614 ->  rssi[-47] freq[925000] time[704] epc[E2 00 47 05 78 A0 60 26 DA 6C 01 0D ]
10:12:01.651 ->  rssi[-49] freq[918600] time[738] epc[E2 00 47 05 78 A0 60 26 DA 6C 01 0D ]
10:12:01.651 ->  rssi[-49] freq[918800] time[770] epc[E2 00 47 05 75 E0 60 26 DA 40 01 11 ]
10:12:01.687 ->  rssi[-49] freq[923000] time[806] epc[E2 00 47 05 75 E0 60 26 DA 40 01 11 ]

I want to be able to read different RFID tags (the RSSI signal strength can even vary), but I am not finding a way to be able to do this with the library. Is there a way to ignore a tag that has already been read via the SparkFun_UHF_RFID_Reader library? Is there an option to temporarily kill a tag for a certain amount of time?

I tried looking at my options within the SparkFun_UHF_RFID_Reader library but couldn’t find anything here:

https://github.com/sparkfun/SparkFun_Si … Reader.cpp

Would I need to use the ThingMagic APIs directly in order to achieve something like this? Or would that module also just return the data for the tag with the highest signal strength in the response msg? Can I even do what I am seeking to do with these libraries? The name of the module seems to suggest as such but I was failing at it :frowning:

Please help! Thanks in advance!

I see four different tags in your example?

The four different tags were detected at different times after I moved around the orientation of about 5 -6 tags that I had placed in the range of the antenna (approx. equidistant to the antenna). Sorry I forgot to clarify that in my post.

At one time (assume a one second window), it seemed to be only detecting one of the tags while I had placed 5 tags at approximately the same distance within the antenna’s range, at least according to the serial monitor. This gave me the impression that only one was repeatedly detected.

Is there a way to not consider a tag that has already been detected?

see post viewtopic.php?f=118&t=56084.

Thanks Paul, this is very helpful.