Skip to main content
Associate II
October 23, 2023
Solved

CR95HF on Arduino Uno Error 88

  • October 23, 2023
  • 9 replies
  • 4229 views

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.

 

This topic has been closed for replies.
Best answer by Brian TIDAL

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

 

9 replies

Brian TIDAL
Technical Moderator
October 23, 2023

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.
JudithAuthor
Associate II
October 23, 2023

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

JudithAuthor
Associate II
October 23, 2023

It is a type 5 tag.

 

Brian TIDAL
Technical Moderator
October 23, 2023

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.
JudithAuthor
Associate II
October 23, 2023

Hi,

yes it is.

Brian TIDAL
Technical Moderator
October 23, 2023

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.
JudithAuthor
Associate II
October 24, 2023

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
Brian TIDALBest answer
Technical Moderator
October 24, 2023

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
Technical Moderator
October 24, 2023

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.
JudithAuthor
Associate II
October 24, 2023

Hi,

I have tried every possible value combination now and non of them have resolved my error. Do you have any other idea of what I can try except for using a different antenna or tag.

Brian TIDAL
Technical Moderator
October 24, 2023

Hi,

have you tried different position on the reader antenna? For example close to one corner?

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.
JudithAuthor
Associate II
October 24, 2023

Hi,

yes I have tried that, but the response code stayed at 88.

Brian TIDAL
Technical Moderator
October 24, 2023

Hi,

I do not believe this will change the issue but let's try to reduce the data rate.

Change the protocolSelect to use 6kbps (00   02 02 01 2D)

When sending commands to the tag, set the Data_rate_flag to 0, for example for the inventory: 0x00 0x04 0x03 0x24 0x01 0x00

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
Technical Moderator
October 25, 2023

Hi,

since the CR95HF has joined the ST25R reader family,  ST25R95 is the part numbering for this device and the up to date datasheet is on the ST25R95 webpage: DS12807. Make sure to use the updated version of the datasheet as it fixes several typos: e.g. "NFC Forum tags: Types 1, 2, 3, 4 and 5". You can easily check that type 5 tags are supported by using for example a skipass or tags from ST25-TAG-BAG-AB.

Here is the typical serial output when a type 5 tag enters in the operating volume of the X-NUCLEO-NFC03A1:

BrianTIDAL_0-1698221252601.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.