Skip to main content
Associate
December 1, 2025
Solved

ST25R3916B not able to read NFC-A card

  • December 1, 2025
  • 2 replies
  • 854 views

Hello,

I am using the ST25R3916B reader on a custom board to read NFC-A cards. I first experimented on the X-Nucleo-nfc08a1 expansion board connected to esp32-s3 devkit. I modified the RFAL library a bit to fit my needs and kept most registers at their default values. With this setup I was able to communicate with an NFC-A card perfectly.

On my custom board, which is powered by 3V, I am able to communicate with the reader: read IC ID, read/write registers, receive interrupts. But I still haven't been able to communicate with the card. I receive no ATQA for my REQA. In fact no rxs or rxe interrupts are being raised (txe interrupt is being raised after sending direct command Send REQA). Code used on X-nucleo-nfc08a1 and custom board are exactly the same, except they have different SDA and IRQ pins.

I am still checking out the hardware design to check for any issues, especially with the antenna matching circuit. In the mean time I wanted to check a few other things:

1. I receive an oscillator_stable irq on my custom board. Does this rule out any issues with my external crystal oscillator?

2. I select the supply mode by measuring the voltage on VDD so the mode for my custom board is 3.3v, whereas on the x-nucleo it is 5v. Is there any other register I should change because of this difference?

3. Are there any other concerns you might think of?

PS. I did a test on both boards where I just do initialization (oscillator_on, supply mode selected, direct command adjust regulator) then send measure amplitude command in a loop. On the x-nucleo I am able to detect amplitude changes when a card gets close, even when my iphone gets close. On my custom board however the amplitude doesn't change at all. 

Thanks in advance.

This topic has been closed for replies.
Best answer by Ulysses HERNIOSUS

Hi,

I am suspecting issues on the the supply / antenna matching of your board, not the chip itself.

Seeing an adjusted voltage of 4400mV and 2800mV makes sense, so supply seems to be ok.

You were suspecting an issue in your software - wrong registers. So this is why I am suggesting you cross-connect to a known to be working NFC board.

Going from the X-NUCLEO to your custom board I don't expect any specific registers changes to be immediately required. At some point you may want to optimize things (output power, waveshaping). But nothing which really makes it non-operational.

Actually also the other cross-connect can make sense: It let's you verify that your software works.

BR, Ulysses

2 replies

BezaGAuthor
Associate
December 2, 2025

Attached is the antenna matching circuit for reference.

Ulysses HERNIOSUS
Technical Moderator
December 2, 2025

Hi,

chances are that the matching is completely off. Please share details on how you designed and matched the antenna including smith charts. Please also look around on community - this is a recurring question answered before with links to tools and appnotes.

BR, Ulysses

BezaGAuthor
Associate
December 3, 2025

Antenna matching circuit for reference is attached. I don't have a network analyzer so i can't get smith charts. The hardware team is rechecking that circuit.

I have scoured the site, tried everything I thought related to my problem to no avail. I just want to make sure there are no firmware issues on my side.

What possible register settings have I missed?

Ulysses HERNIOSUS
Technical Moderator
December 3, 2025

Hi,

if you want to rule out firmware issues then I propose to cross-connect the SPI + IRQ to the nucleo board (while disabling the ST25R3916B on your custom board).

With default settings the RFAL should perform the Adjust Regulator command - results available in space B 0x2C register (reg_*).

BR, Ulysses