cancel
Showing results for 
Search instead for 
Did you mean: 

CR95HF on Arduino Uno Error 88

Judith
Associate III

Hello,

I am using the X-Nucleo-NFC03A1 shield with the Arduino Uno. I use the library for the BM019 as an inspiration for reading my tag. Setting the protocol, the echo command and the IDN command all work fine, but when I try to read the UID of the tag I always get the error 88 in my response code meaning invald start of frame. I am using the ISO 15693. Could you help me find the cause of that error and tell me what it means.

For getting the UID I use the commands 0x00 0x04 0x03 0x26 0x01 0x00 as reccomended in the datasheet.

Thanks.

 

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

the antenna of the smartphone is likely smaller than the X-NUCLEO-NFC03A1 one and the output power is probably higher. 

You can try to adjust the receiver gain. After the protocolSelect command, send a WrReg command to change the receiver gain: {0x09, 0x04, 0x68, 0x01, 0x01, 0x53where correspond to 27dB (see table 32 in the ST25R95 datasheet). Try with the various values (0, 1, 3  ,7, F) and see whether this improves the reception of the tag response. For your information, error 0x88 means invalid Start of Frame. This means that the start of the tag response is corrupted due to RF conditions. Changing the receiver gain may improve this situation.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

19 REPLIES 19
Brian TIDAL
ST Employee

Hi,

can you provide more information about the tag being used (chip manufacturer and model)? You can use an NFC enabled smartphone with an NFC app (such as ST25NFCTap or TagInfo) to retrieve information about the chip manufacturer and model.

Can you provide a trace of the various commands sent before the Inventory SendRecv command (in particular the protocolSelect command and any Register Read/Write)?

For your information, an Arduino library for CR95HF RFID/NFC is available on https://github.com/facchinm/CR95HF. Note that BM019 HW and BM019 lib are not provided by ST.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Judith
Associate III

Hi,

I use a glass tag from EM Microelectronic-Marin SA with a memory size of 208 bytes. At first I sent the IDN command to get the device ID, then I set the protocol to the ISO15693 by sending 0x00 0x02 0x02 0x01 0x0D. I don´t read or write on the tag yet, because I first wanted to test the function of getting the ID. Thank you for the library you showed me, I am going to look into that.

Thank you

Judith
Associate III

It is a type 5 tag.

 

Brian TIDAL
ST Employee

Hi,

is it this kind of product?

BrianTIDAL_0-1698063460624.pngBrianTIDAL_1-1698063536380.png

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Judith
Associate III

Hi,

yes it is.

Hi,

I do not have the exact physical dimensions of the antenna of this glass tag but it is likely very small. Thus the coupling with X-NUCLEO-NFC03A1 is probably quite low. A smaller antenna on the reader side would probably be needed to insure a good coupling to deliver enough energy to the tag and have reliable communication.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi,

thank you for your answer. But my smartphone was able to detect the tag and read and write information with the app you recommended and the antenna should be nearly the same size as the one I use, maybe a bit smaller. So why does it work with my smartphone but not with the X-NUCLEO-NFC03A1.

Regards

Brian TIDAL
ST Employee

Hi,

the antenna of the smartphone is likely smaller than the X-NUCLEO-NFC03A1 one and the output power is probably higher. 

You can try to adjust the receiver gain. After the protocolSelect command, send a WrReg command to change the receiver gain: {0x09, 0x04, 0x68, 0x01, 0x01, 0x53where correspond to 27dB (see table 32 in the ST25R95 datasheet). Try with the various values (0, 1, 3  ,7, F) and see whether this improves the reception of the tag response. For your information, error 0x88 means invalid Start of Frame. This means that the start of the tag response is corrupted due to RF conditions. Changing the receiver gain may improve this situation.

Rgds

BT

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Brian TIDAL
ST Employee

P.-S. Please let me know which value has improved the reception of the tag response. Thanks

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.