Skip to main content
Visitor II
May 15, 2026
Question

Need Help Using ST25R3911DISCOComm dll With Python

  • May 15, 2026
  • 1 reply
  • 67 views

Hello ST Team

I am using the ST25R3911B-DISCO board with an ST25DV16KC tag.

I am trying to communicate with the tag directly from Python using the ST25R3911DISCOComm.dll from STSW-ST25R001.

My setup is:
ST25R3911B-DISCO
ST25DV16KC
Windows PC
Python 3.13
ctypes

The DLL loads successfully.
Reader connection works correctly.
RF initialization works correctly.

These APIs return success:
rfalInitialize
iso14443aInit
rfalFieldOnAndStarGT
checkConnection

The ST GUI software works correctly and can:
detect the tag
select the tag
read UID
read tag data

From Python I cannot:
detect the tag
select the tag
read UID
read memory

The DLL exports these APIs:
iso14443aSelect
iso14443aRATS
iso14443aPPS
txrxBytes
nfcTxNBytes
nfcRxNBytes
rfalStartTransceive
rfalTransceiveBlockingTx
rfalTransceiveBlockingRx
rfalTransceiveBlockingTxRx
rfalISO14443ATransceiveShortFrame
rfalISO14443ATransceiveAnticollisionFrame
rfalIsoDepInitialize
rfalIsoDepStartApduTransceive
pollInterrupt

Observed issues:

iso14443aSelect causes access violation.

t2tRead4Pages returns:
Read Result 6
RX Length 0

pollInterrupt runs but never detects the tag.

I believe the issue is that I do not know the correct function signatures and required structures for the DLL APIs.

Could ST please provide:
documentation or header files for ST25R3911DISCOComm.dll
correct function prototypes
example for Python ctypes usage
example for ST25DV16KC detection and UID read

Thank you

1 reply

Ulysses HERNIOSUS
Technical Moderator
May 18, 2026

Hello Askhay2,

the functions from the DLL are direct forwards of functions from the firmware - its source is available on st.com.

The following post gives a simple example of running the DLL:

https://community.st.com/t5/st25-nfc-rfid-tags-and-readers/st25r3911discocomm-dll-need-sample-code-usage/m-p/377999

BR, Ulysses