RFID Project help

I’m currently doing a project where ideally I will have multiple objects with RFID tags on them that are placed on top of a platform with a Sparkfun SRTR connected to a Arduino Uno Wifi Rev 2 below the platform. The idea is that once a button is pressed the RFID reader will read all the tags that are on that platform, take the data from the user data and add all the data to an array.

Any advice on how I can achieve this?

I have used the constant read example from the library and it reads all the tags in the range but after a while I get Bad CRC or unknown error. I have tried modifying this code to call the getTagDataBytes() method but obviously that just returns the number of bits of embedded data not the actual data.

Also I can read an individual tag and print out what I’ve wrote to it using the read_user_data example code. e.g. Write “Pineapple!” to tag, print out “Pineapple!” (writing to the the user data section of the tag).

Thank you

HI

The challenge with using the Arduino Uno WIFI is the RAM size to store all the tag / user data. Hence I did a project with an ESP32 thing from Sparkfun.( https://github.com/paulvha/ThingMagic/t … FID-SERVER) I only obtain the unique EPC’s and store those in an array using the VECTOR-library. Easier than building and controlling the array yourself and with a small change user data can be added. The stored data can be read and clear with a standard browser. Have a look and see whether the code will get you under way.

regards,

Paul

Hi Paul,

The code that you have to set up the connection to the server etc for ESP32 thing, will this transfer gracefully over to the Arduino Uno Wifi ?? There is a library “WiFiNINA” that I can use if not.

I notice you also use this over the HW serial but I will be using this over the SW serial, is this still okay to use with your code?

I’m a beginner to this so sorry if these questions sound stupid!

Thank you so much for your help

Luke

HI Luke

I expect it will need to have changes. I do not own an Arduino Uno Wifi Rev 2 and thus have not tried it. An UNO has one serial and you will have to use softserial to connect to the Nano.I also expect you will need to make changes to the WIFI. It is more about the structure and principle… than the direct applicability.

Hi Paul,

I have been looking over your code and I am beginning to understand it. I understand (I think) how you are getting the EPC values and placing them into the Array and I am now trying to retrieve the user data instead and add that to the array. When nano.parseResponse() is called I can see in the library that we are able to look at “any embedded data”…

  //  [24, 25] 00 00 = Number of bits of embedded tag data [M bytes]
  //  [26 to M] (none) = Any embedded data // <--- Any user data is stored here
  //  [26 + M] 0F = RFU reserved future use
  //  [27, 28 + M] 00 80 = EPC Length [N bytes]  (bits in EPC including PC and CRC bits). 128 bits = 16 bytes
  //  [29, 30 + M] 30 00 = Tag EPC Protocol Control (PC) bits
  //  [31 to 42 + M + N] 00 00 00 00 00 00 00 00 00 00 15 45 = EPC ID

and that you extract the EPC here

// extract EPC
      for (byte x = 0 ; x < EPC_ENTRY ; x++)   myEPC[x] = nano.msg[31 + x];

Could you provide me some guidence on how to retrieve that “user data”?

My thinking so far is that I will need to do something like

for(byte x = 0; x < (lenght of user data); x++) myUserDataArray[x] = nano.msg[26 + x];

Thanks again for the guidence!

Luke

Hi Luke

I had to refresh my personal memory. It has been a while that I was in the details around Nano. :slight_smile:

First a remark : the Sparkfun driver is a scaled down version of the mercury API from Jadak/Thingmagic and does not support all the functions and capabilities that the Mercury API has.

I looked at the Sparkfun driver and it reads banks (EPC, TID, passwords, user) individually. Hence it does not hold the full data from a single tag at any time. The challenge with reading the user data, is that the Sparkfun driver does not have a possibility to select the tag to get the user data from based on the EPC. it would cancel continuous reading So when there are multiple tags in front of the reader, it will be impossible to match the user data with the right EPC. If the EPC is non-interested, you can perform a nano.readUserData() to get the user data.

Not sure about your setup or solution, but you could decide to include a unique “EPC” as part of the user data. Else I might be able to look whether I can make a change/addition to the driver to read multiple banks.

Hi Paul,

Firstly, thank you for your continued guidance.

Ideally, I was able to read to the EPC then I would be able to achieve my project goal. I just saw your post on the other forum thread (quoted below) so when I am home from work today I will try your set up of

I have just connected to my Arduino UNO.

NANO switch to HW-UART.

Nano GND to GND,

Nano VCC to +5V,

Nano TX to pin2,

Nano RX to pin 3.

Works like a charm… no issues with writing and reading EPC.

and see if this works when I am home from work. If it does then I should be able to make a significant step forward in my project.

For background I was getting these results when trying to write to then read to the EPC…

When I read an EPC for the first time I get this response ;

epc[E2 00 00 19 63 02 01 85 23 10 28 9D ]

I then write “Hello!” to the EPC getting this response “New EPC Written!”

I then re-read the EPC again and the response is

epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]

I will keep you updated.

Luke

I’ve tried that solution Paul but I think I might have the wrong pins ect. would you mind showing me a picture of your setup with the SRTR and the Arduino Uno??

Thank you

Luke

LukeDJ:
I’ve tried that solution Paul but I think I might have the wrong pins ect. would you mind showing me a picture of your setup with the SRTR and the Arduino Uno??

Thank you

Luke

This is a picture of how I placed the pins on the Arduino Uno. After this setup up I run the read_EPC example from the sparkfun library and get this output “C0 C0 CF 00 18 08 01 82 23 10 28 97” then after I run the write_EPC example trying to write “Hello!” and I get this output “00 00 DD 5F F4 01 01 82 23 10 28 97”.

https://i.imgur.com/j3iv1vVh.jpg

4 wires…

NANO color UNO

Serial

GND         BLUE        GND
NC
VCC         RED          5V
RXI         BLACK     pin 3
TXD         GREEN     pin 2
NC

same as you… only with me it is working… try to include the debug command that I shared before.

Looking at your picture.: is your tag folded ?

regards,

Paul

Seems that the wiring I had was correct but my outputs are still not correct. I have tried on both the Arduino Uno and an Arduino Uno Wifi…

The tag is not folded, that is just some stuff that was on the table if I remember correctly. These are the tags I am using, just fyi https://www.sparkfun.com/products/14151

I’ll post the debug outputs for both the Arduino Uno Wifi and Arduino Uno respectively.

Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
Init
Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
send [FF] [08]FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendC++ [FF [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 2: Incomplete response
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 2: Incomplete response
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module

https://create.arduino.cc/editor/Bobsle … 73/preview

https://create.arduino.cc/editor/Bobsle … 41/preview

That’s the sketches for the code as well… It’s just the examples but maybe you can see a difference in the code you got compared to mine? Just covering all bases.

Hopefully you will be able to see something that I can not from the debug outputs. As always thank you!

Luke

Also, my friend just made an interesting point, what version of the SparkFun library are you using?

THanks Luke

I had a look. Both of these logs are done during reading only. I see the normal communication steps but I am a little surprised about the number of times the module is not responding, incomplete responds and number of time-outs. Maybe there is an issue with low power supply, but maybe not. In my case it will only indicate that the nano did time-out in the very beginning of initialization because of the speed mismatch. Do you a debug log when writing EPC ? Also try separate to set the speed to 9600 for the Nano instead of 38400

Okay so when I use the Arduino Uno board with no alteration to any of the code and the Nano still running at 38400 it doesn’t wait for a user input before it starts reading hence the lenght of the debug code that follows. The Arduino Uno Wifi waits for the user input but prints everything twice for some reason.

Arduino Uno;

Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
sendCommand:  [FF] [02] [94] [01] [F4] [20] [6B]
response:  [FF] [00] [94] [00] [00]
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [04] [00]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [04] [00]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [04] [00]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [04] [00]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [04] [00]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
send+[FF] [0[FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]
response:  [FF] [00] [24] [04] [00]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DE] [D0] [07] [8A] [14]

Arduino Uno Wifi;

i+me out 1: No 
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
sendCommand:  [FF] [02] [94] [01] [F4] [20] [6B]
response:  [FF] [00] [94] [00] [00]
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [CF] [00] [18] [08] [98] [EA]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [CF] [00] [18] [08] [98] [EA]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.

This new section is the debug log for running the Nano at 9600 and writing then reading on the Arudino Uno Wifi and Arduino Uno respectively…

Arduino Uno Wifi;

I
Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [25] [80] [53] [C1]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
sendCommand:  [FF] [02] [94] [01] [F4] [20] [6B]
response:  [FF] [00] [94] [00] [00]
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [CF] [00] [18] [08] [98] [EA]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [CF] [00] [18] [08] [98] [EA]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [25] [80] [53] [C1]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [CF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 CF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag

Arduino Uno;

Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [25] [80] [53] [C1]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
sendCommand:  [FF] [02] [94] [01] [F4] [20] [6B]
response:  [FF] [00] [94] [00] [00]
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendC鑹  [ [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendComm    [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sen
 [FF] [0 [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sen
 [FF] [0 [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
se  [FF] [  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sen
 [FF] [0 [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCoFF] [0E]FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]
Initializing...
 [01] [F4] [01] [00] [00] [00]
Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [04] [06] [00] [00] [25] [80] [53] [C1]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [5E] [D6] [EF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD 5E D6 EF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]

I can’t thank you enough for helping me with this Paul!

Luke

Hi Luke,

Those timeouts are something I have not run into before and I am not sure what would be causing that since it is just a timer waiting for a response from the module after sending a command. When that happens, the M6E is not receiving or acknowledging the command before that timer runs out but I am not sure how to fix that. I can reach out to the engineer who wrote the library and see if they have any input on this issue.

Another thought is it might be a power issue but that seems unlikely since, as Paul has mentioned, usually those only crop up when the M6E is initializing and a power issue would most likely reset the circuit and the serial print. One quick question that may help determine that is do you know which version of USB the port you are using is? If it is USB 2.0, that might be the issue since it can only source up to 500mA where USB 3.0/SS can source up to 900mA.

If you still cannot figure out the issue after some more troubleshooting, please send me a private message with your order information and we can set up an RMA for your order to have the RFID Reader sent back in for testing.

Hi Mark,

Looking back I haven’t tried it in a 3.0/SS port so will try that tomorrow morning. Although I do have a dedicated DC plug that I use for the Arduino so that should supply enough power to the M6E should it not?

If you could contact the engineer and get some feedback on this issue that would be great!

Thank you both!

Luke

HI Luke

The problem is your software/library. My advice is to first remove the current Sparkfun RFID library and re-download and re-install the library.

Then test this again. if that does not work I can make more debug code in the library to analyse the problem.

Let me try to explain what is happening

Looking at the UNO WIFI debug low during write, I see

Get all tags out of the area. Press a key to write EPC to first detected tag.

sendCommand: [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [CF] [00] [18] [08] [98] [EA]

response: [FF] [00] [24] [00] [00]

New EPC Written!

Breaking down the sendcommand:

FF header

0E length (14 bytes)

24 TMR_SR_OPCODE_WRITE_TAG_DATA

07 D0 timeout

00 option byte

[00] [00] [00] [02] start address in bank (2 as it skips the PC)

01 bank to write (EPC bank)

[C0] [C0] [CF] [00] [18] [08] [98] [EA] data to write

The response break down is

FF header

00 no data length

00 00 status code returned (means OK)

So your software / library is telling the Nano to write the EPC [C0] [C0] [CF] [00] [18] [08] [98] [EA]. That is what you read as well.


looking at the UNO debug log write EPC :

Get all tags out of the area. Press a key to write EPC to first detected tag.

sendCommand: [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [5E] [D6] [EF] [1D] [74]

response: [FF] [00] [24] [00] [00]

New EPC Written!

Breaking down the sendcommand

FF header

0E length (14 bytes)

24 TMR_SR_OPCODE_WRITE_TAG_DATA

07 D0 timeout

00 option byte

[00] [00] [00] [02] start address in bank (2 as it skips the PC)

01 bank to write (EPC bank)

[00] [00] [DD] [5E] [D6] [EF] [1D] [74] data to write

the response break down is

FF header

00 no data length

00 00 status code returned (means OK)

So your software / library is telling the nano to write the EPC [00] [00] [DD] [5E] [D6] [EF] [1D] [74]. That is what you read as well.

So I’ve connected both the Arduino’s to a USB3.0 port and have re-downloaded the SparkFun Library that is listed here… https://github.com/sparkfun/SparkFun_Si … master.zip.

I am using the online Arduino IDE.

Arduino Uno Wifi;

Write

i+me ou饹t ..
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
sendCommand:  [FF] [02] [94] [01] [F4] [20] [6B]
response:  [FF] [00] [94] [00] [00]
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [DF] [00] [18] [08] [9B] [99]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [C0] [C0] [DF] [00] [18] [08] [9B] [99]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.

Read.

iH(m+e out饹 1..
sendCommand:  [FF] [00] [03] [1D] [0C]
Time out 1: No response from module
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [DF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 DF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [C0] [C0] [DF] [00] [18] [08] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[C0 C0 DF 00 18 08 01 85 23 10 28 9D ]
Press a key to scan for a tag

Arduino Uno

Write

Initializing.
Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
sendCommand:  [FF] [02] [94] [01] [F4] [20] [6B]
response:  [FF] [00] [94] [00] [00]
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendC[FF] [0E] [24[0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
response:  [FF] [00] [24] [04] [0A]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
response:  [FF] [00] [24] [04] [06]
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
Time out 1: No response from module
Failed write
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
sendCommand:  [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]
response:  [FF] [00] [24] [00] [00]
New EPC Written!
Get all tags out of the area. Press a key to write EPC to first detected tag.
send [FF] [0 [FF] [0E] [24] [07] [D0] [00] [00] [00] [00] [02] [01] [00] [00] [DD] [DF] [F6] [FF] [BC] [CD]

Read

sen
Initializing..
Initializing...
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [04] [06] [00] [00] [96] [00] [E0] [41]
sendCommand:  [FF] [00] [03] [1D] [0C]
response:  [FF] [14] [03] [00] [00] [14] [12] [08] [00] [30] [00] [00] [02] [20] [18] [07] [18] [01] [09] [00] [1B] [00] [00] [00] [10]
sendCommand:  [FF] [02] [93] [00] [05] [51] [7D]
response:  [FF] [00] [93] [00] [00]
sendCommand:  [FF] [02] [91] [01] [01] [70] [3B]
response:  [FF] [00] [91] [00] [00]
sendCommand:  [FF] [01] [97] [08] [4B] [B5]
response:  [FF] [00] [97] [00] [00]
sendCommand:  [FF] [02] [92] [01] [F4] [40] [AD]
response:  [FF] [00] [92] [00] [00]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
Time out 1: No response from module
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [00] [28] [04] [00]
Searching for tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sedCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
seY [FF] [0 [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
sendCommand:  [FF] [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]
response:  [FF] [0C] [28] [00] [00] [00] [00] [DD] [DF] [F6] [FF] [01] [85] [23] [10] [28] [9D]
Searching for tag
 epc[00 00 DD DF F6 FF 01 85 23 10 28 9D ]
Press a key to scan for a tag
se  [FF] [08] [2 [08] [28] [01] [F4] [01] [00] [00] [00] [02] [06] [85] [FA]

From what I’m seeing the debug code I am getting the same errors that I was getting previously… Maybe you can upload your library that I can downlaod Paul??

Thanks

Luke

The problem is because of a change that has been applied in the library by Sparkfun. This change is incorrect and should NOT be applied. The EPC is combination of words ( 2 bytes) to a certain length. It is not an integer number and as such the atoi() call is incorrectly added.

In the file SparkFun_UHF_RFID_Reader.cpp , routine writeTagEPC() at line 272

//This writes a new EPC to the first tag it detects
//Use with caution. This function doesn't control which tag hears the command.
uint8_t RFID::writeTagEPC(char *newID, uint8_t newIDLength, uint16_t timeOut)
{
  uint8_t bank = 0x01; //EPC memory
  uint8_t address = 0x02; //EPC starts at spot 4
  uint8_t * nnewID = (uint8_t*)atoi(newID);   // New Line doing the conversion

  return (writeData(bank, address, nnewID, newIDLength, timeOut));
}

change this to :

//This writes a new EPC to the first tag it detects
//Use with caution. This function doesn't control which tag hears the command.
uint8_t RFID::writeTagEPC(char *newID, uint8_t newIDLength, uint16_t timeOut)
{
  uint8_t bank = 0x01; //EPC memory
  uint8_t address = 0x02; //EPC starts at spot 4
  
 return (writeData(bank, address, ( uint8_t *) newID, newIDLength, timeOut));
}

Now it will work. Not sure what other changes have been applied, but I will check that in the coming hours/day

Hi Paul,

It works!!

I have looked through the Github and have found the commit made by nseidle on 24th of October 2018. There was also 2 comments by a user letting him know that it corrupts the writes to the EPC.

https://github.com/sparkfun/SparkFun_Si … 8ecc3082c1

Thank you so much for your help during this Paul, I can’t thank you enough!

Luke