SparkFun Forums 

Where electronics enthusiasts find answers.


I'm currently using the sparkfun shield with the m6e-nano, and using sparkfun library. ( ... er_Library)

I'm facing a problem on my project, I need to have more than 1 antenna to extend read points.

I could use a multiplexer to do that, or use directly the ThingMagic M6E ( ... ury6e-m6e/).

If I look at the price of a multiplexer (about 200euros) it seems better to buy directly the M6E as this reader already have 4 antenna port, that we can select using the MercuryApi.
And for almost the same price, the M6E has drastically better performance than the m6e-nano. The m6e-nano can read up to 200tags / sec, whereas the m6e can read up to 750tags / sec.

The M6E can be wired by USB, to a raspberry, for example, and use the C Mercury Api directly.
Or it can be wired by hardware serial, on an Arduino for example.
I'd like to keep my project runing the code I already wrote for the arduino platform.

ThingMagic seems to say that their API is fully compatible between all their M6 products.
And the sparkfun lib seems to be a "wrapper" around the mercuryApi.

I'm not sure what the mercuryApi is doing, and it could test the M6 product type and send the right message via serial depending on which one it is connected to..
But maybe not

So the question is : Is it possible to use the Sparkfun library with another M6 product, especially the ThingMagic M6E ?

Thank you very much !
Hello, and thanks for posting on the forums!

Unfortunately we have not tested our library on any other ThingMagic products so I can't say for sure if it will work on anything other than our M6E Nano board. If you give it a try and find that it works, let us know. I'm sure other users would like to know as well.
I agree that the M6E is a good way to go. Having 4 antenna ports is great for multi-antenna systems.

To echo Chris, the library will work with certain features on the M6E but our library won't support certain aspects of the M6E such as configuring the extra antenna ports. I recommend starting with the URA from ThingMagic and as you glean the serial packets required to get the settings and features you need enabled on the M6E please submit a PR and we can roll those into the main library.
Having analyzed both libraries in details, I would expect it will work with an M6E.. BUT it will not serve you need. You want to select a different antenna. As you say this can be done with the Mercury API but this is not supported by the Sparkfun library. The Sparkfun library has hard coded that it only uses antenna 1 for RX/TX (as it was written for the nano). It means you have to change the library code in void RFID::setAntennaPort(void) and void RFID::setAntennaSearchList(void) and add calls in the library to use these routines at the right moment.