2025-03-09 9:38 AM - last edited on 2025-03-10 3:24 AM by Andrew Neil
Hi everyone,
I am working with the STEVAL-25R200SA evaluation board using the ST25R200 GUI software, and everything is functioning correctly.
However, I would like to develop my own software instead.
Using X-CUBE-NFC10 Middleware:
Understanding the Existing Firmware:
Any help would be greatly appreciated!
Thanks!
2025-03-10 3:20 AM
Hi,
the easiest demos available are the ones in ST25 Embedded NFC lib. They include NDEF read/write, and many other demo applications. They are also meant to be easily portable to non-STM32 MCUs.
Also X-CUBE-NFC10 should work. Not sure why that file would not be created. If you detail all the steps you are performing then maybe @Rene Lenerve could comment.
BR, Ulysses
2025-03-17 4:00 AM
hi,
I tried using the X-CUBE-NFC10 package ,
but the package doesn’t build the project well,
This is my steps:
1-Configuration hardware I took from steval-25r200sa :
2- Configure the x-cube-nfc10
3- Enable the nfc 10 :
4- Generate code :
5- Build :
6- Adding nfc_conf.h , I copy into nfc_conf.txt:
this is my steps, what did i do wrong ?
best regards,
noam.
2025-03-19 1:39 AM
Hi,
make sure to follow the various steps described in STMicroelectronics.X-CUBE-NFC10_GettingStarted.pdf (available in <yourHomeDir>\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-NFC10\1.0.0\Documentation)
In particular:
and
Rgds
BT
2025-03-19 6:07 AM
Hi
Thanks BT for your reply,
so i created a new project .
i took the .ioc file from steval -25R200SA evaluation board FW.
i created the project from the nfc10 :
i defined all missing HW (button EXTI and LED)
generate the project:
download the project to the stm32 .
with debugging , i can see ,the stm32 cant identify the chip id of the st25r200.
on this function :
bool st25r200CheckChipID( uint8_t *rev )
{
uint8_t ID;
ID = 0;
st25r200ReadRegister( ST25R200_REG_IC_ID, &ID );
/* Check if IC Identity Register contains ST25R200's IC type code */
if( (ID & ST25R200_REG_IC_ID_ic_type_mask) != ST25R200_REG_IC_ID_ic_type_st25r200 )
{
return false;
}
if(rev != NULL)
{
*rev = (ID & ST25R200_REG_IC_ID_ic_rev_mask);
}
return true;
}
after st25r200ReadRegister( ST25R200_REG_IC_ID, &ID ); function the ID remain 0.
so i cant read the st25r200 id. why is that ?
after that ,the software got stuck on error handler on while(1)
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
what the reason for that , the main issue is to understand why the st25r200 chip not recognize the id number.
again, this hardware is working fine, when use the STEVAL-25R200-STM32G0B1 FW.
best regards ,
noam.
2025-03-19 6:48 AM
Hi,
check your SPI configuration and make sure the Reset pin of the ST25R200 is low. The st25r200CheckChipID fails due to no reply on the SPI (i.e. no reply ==> 0x00 is read on the MISO), so either the Reset pin is floating or the SPI configuration is incorrect.
BT
Rgds
2025-03-23 9:15 AM
Hi,
It’s working for me now.
I would like to know how to write data to a tag. Can you guide me on how to do that?
Is it possible to write to the tag using this library? I am using rewritable "A" type tags.
Best regards,
maybe one of the check box?
Noam
2025-03-24 1:04 AM
Hi Noam,
our demos provide an application reading/writing NDEF in case the tag is properly formatted.
Otherwise you need to inspect the DS of the tag about the commands which need to be used.
Regards, Ulysses
2025-03-24 2:20 AM
hi,
Great, can you show me an example, how can I use the NDEF for writing?
br,
NOAM.
2025-03-24 2:38 AM
Hi Noam,
the aforementioned ST25 NFC lib (stsw-st25r-lib) contains an ndef_rw example.
BR, Ulysses