M7E Hecto Tag Filtering

I’m using the M7E Hecto dev board with an ESP32. After some setup, I’m able to read tags successfully.

My issue surrounds filtering. With the accompanying Arduino library, the startReading method seems not to return ALL tags in the vicinity, but only the STRONGEST tag in the vicinity. In my case, I have multiple tags continuously present, but am only concerned about the introduction of a new specific tag (or two).

I made a few attempts to sendMessage the M7E directly to support custom filtering, with no luck. I see a promising MR [here] (Support for filters and configurations by mr-torgue · Pull Request #33 · sparkfun/SparkFun_Simultaneous_RFID_Tag_Reader_Library · GitHub), though it has no reviews; it also notes that it’s configured for the M6 and not M7.

The documentation suggests using ThingMagic’s URA to infer message payload info, but I’m on a Mac.

Before I get too far down the rabbit hole, has anyone experience this? A bit frustrated; I figured a “SparkFun Simultaneous RFID Reader” would support simultaneous reporting out of the box.

Hopefully I’m missing something obvious. Any help would be appreciated!

Maybe you already tried this. Arduino Examples - SparkFun Simultaneous RFID Reader - M7E Hookup Guide Please check line by line to find out if any step had been missing.

There are a number of posts that relate to this issue

In GEN2 protocol there are a number of options to temporarily silence a discovered tag ( /reader/gen2/session and/reader/gen2/Q etc) so other tags can be detected. The URA provides some of those options, but runs on Windows

While the M7E supports the full stack of GEN2, the Sparkfun library does not. it is only a subset given the size of memory. The bigger MercuryAPI could be used, but given the that is available on Windows or Linux.

@dilshana That is the library I’ve been using. The code works, but doesn’t address the use case I described (filtering by specific tags).

@paulvha Sounds like I need to get my hands on a Windows machine to make any progress. The PR I mentioned does everything I want, but says it’s written for the M6. Any idea what it would take to support the M7 too?

There is little difference between M7E and M6E. It is backward compatible.
Make sure to use session as described in the MercuryAPI programmers guide

1 Like