Skip to main content
Associate
June 23, 2026
Question

STEVAL 25R200A: How to actively stream tag UID via UART on detection?

  • June 23, 2026
  • 1 reply
  • 17 views

Hello,

I am using the ST25R200 evaluation board with the STSW-ST25R020 firmware package.

I am planning to develop a custom Python GUI that displays a specific text string whenever an NFC tag is detected by the board. To achieve this, I want to modify the C firmware so it actively streams out a text string via UART/VCP as soon as a tag enters the field.

Could you please guide me on the following?

  1. Which specific source file and function in the STSW-ST25R020 package handle the successful tag detection/inventory loop where the tag's UID is retrieved?
  2. Where is the best place to insert a custom printf or logging function to stream this text data out via UART immediately upon detection?

Thank you very much for your help!

1 reply

Brian TIDAL
ST Technical Moderator
June 24, 2026

Hi,

The ST25R200 evaluation board firmware has two modes:

  • GUI mode, where the firmware communicates with the PC graphical user interface (GUI) through the STLINK virtual COM port (VCP). In this mode, the firmware waits for commands from the PC graphical user interface.
  • Demo mode, where the firmware runs the discovery loop autonomously.

For this application, use one of the following options:

  1. Use GUI mode and use the various application programming interfaces (APIs) from ser_Rfal.dll through Python.
  2. Use demo mode and redirect the firmware log to the STLINK virtual COM port.

For option 1, the Py_Example_DiscoverLooper.py file is available in the STSW-ST25R023 package. This file is for the STEVAL-25R300KA, but the remote application programming interface (API) follows the same structure.

For option 2, force the boot mode in demo_rpt.c by setting DEMO_RPT_BOOTMODE_DEMO in demoRptPersistantDefaultValue, or use the graphical user interface to switch from GUI mode to demo mode. Then, in demoRptMain, redirect the log to UART2 with logUsartInit(&huart2);. In accessoryDemo(), add platformLog with the required string when rfalNfcIsDevActivated is true, that is, when a device is found.

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.