2025-12-01 1:02 AM
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.