2026-05-15 2:57 PM
Hi,
I have derived this code from the ST25NFCLib, and the software works correctly when interfacing with the NUCLEO-L476RG board.
However, when I connect the same setup to my proto board, I observe a difference during the following I2C transaction.
During the initialization process, the master sends command 0xDF (Measure Power Supply) and then waits for the IRQ signal.
In the working setup, the IRQ status registers (1Ah–1Dh) return the values:
00, 80, 00, 00
Whereas in the non-working setup, the IRQ status registers return:
00, 00, 00, 00
I am not sure why the IRQ response is different in the proto board setup.
Please note the following:
I am attaching the I2C transaction screenshots for reference:
Please let me know if you notice any missing initialization command or any issue in the sequence below.
Solved! Go to Solution.
2026-05-18 7:08 AM
Hi Brian,
Great news — I found the problem in my I2C driver. Your feedback helped me identify and resolve the issue.
Thank you very much for the help. It is greatly appreciated.
Best Regards,
Naga Amam.
2026-05-16 5:13 AM
Hi,
could you provide information about the ST26R3918 daughter board: how are supplied VDD, VDD_IO and VDD_TX? Could you check the various voltages on the correct setup and on the failing setup?
Regarding the firmware, do you use the RFAL or your own implementation?
Could you also provide the logic analyzer trace (.dvdat file)?
Rgds
BT
2026-05-16 7:11 AM
2026-05-16 3:48 PM
Hi,
NFC 5 Click board is not a board designed by STMicroelectronics. Compared to X-NUCLEO-NFC06A1 (ST25R3916), the pull-up resistors are 4.7 kOhm (vs. 1.6 kOhm on X-NUCLEO-NFC06A1). I recommand to check the signal integrity with a scope and to make sure SCL and SDA signals reach valid logic high levels fast enough. Check also the SDA GPIO settings on your MCU (no internal pull).
I also recommand to use the RFAL on your MCU. The RFAL is portable and scalable by design.
Rgds
BT
2026-05-17 1:10 PM
Hi Brian,
I have made sure the I2C port pins do not have any internal pull-up resistors enabled.
I have also verified that the I2C logic levels are meeting the required specifications.
As you probably noticed in the logic analyzer trace, there is a command to read the CHIP ID (0x7F), followed by the POWER-UP command (0xC1), and I receive the proper response of 0x2A. If there were an I2C logic level issue, I would not expect to receive the correct 0x2A response from the ST25R3918.
Also, for the command:
REG 02 OPERATION CONTROL = 0x80 (Enable Oscillator)
the device generates the IRQ response:
80, 00, 00, 00
This behavior is occurring the same way in both the GOOD case (NUCLEO-F476RG) and the BADBOARD case (my proto board).
Based on these observations, I do not think the issue is related to the I2C logic levels.
Please let me know your comments on this.
Best regards,
Naga Amam
2026-05-18 1:47 AM
Hi Naga,
what I see on the NUCLEO-L476RG trace:
For sure, the I2C signals are not clean. I see also spikes on the IRQ line.
What I see on the proto board:
After the first byte sent by the ST25R3918, the MCU seems to keep SDA to 0 (ACK). This is clearly an issue on I2C.
Could you check you I2C driver regarding the ACK management after the first byte being received?
Rgds
BT
2026-05-18 7:08 AM
Hi Brian,
Great news — I found the problem in my I2C driver. Your feedback helped me identify and resolve the issue.
Thank you very much for the help. It is greatly appreciated.
Best Regards,
Naga Amam.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.