Skip to main content
Visitor II
December 30, 2025
Question

How to build own middleware code for ST25R3916B/3920B instead of using RFAL

  • December 30, 2025
  • 2 replies
  • 32 views

Hi ST

Now I am using ST25R3916B evaluation board, it works well with the project code you provided.

My final target is using 3920B on automotive for demostrating NFC card detection as well as digital car access to customer.

But we will finally change to other platform's MCU, not use ST's hsot MCU.

Due to our MCU has limited Fash / RAM size, we are considering to build our own middleware code to drive NFC frond end. but it looks like it's hard to understand the protocol through I2C waveform, and no any protocol document is avaiable on your website.

Is migating RFAL the only way I can do for realizing NFC function with 3916B / 3920B? 

Thanks

Leo

 

 

 

    This topic has been closed for replies.

    2 replies

    Technical Moderator
    January 6, 2026

    Hi Leo,

    ST25R3916, ST25R3916B, ST25R3917, ST25R3917B, ST25R3918, ST25R3920, and ST25R3920B use the same RFAL library (see Introduction section in UM2890).

    Regarding the memory footprint, ensure that you consider the microcontroller hardware abstraction layer (HAL) libraries, such as the SPI or I²C drivers, and the flash memory and RAM size of the application on top of the RFAL. 8 KB RAM might be too small.

    For CCC applications, I would suggest using the ST25R500 automotive device. It also uses the RFAL library that provides the same API for the application. 

    Regarding the total solution, do you mean a turnkey solution or a reference design?

    Rgds

    BT

     

    Super User
    January 6, 2026

    @LeoWu wrote:

    it looks like it's hard to understand the protocol through I2C waveform, and no any protocol document is avaiable on your website.


    There's a list of commands in the datasheet:

    AndrewNeil_0-1767704788907.png

    https://www.st.com/resource/en/datasheet/st25r3916b.pdf#page=60

    via: https://www.st.com/en/nfc/st25r3916b.html#documentation

     

    Technical Moderator
    January 6, 2026

    Hi Andrew,

    The RFAL library provides an abstraction layer that eliminates the need to manage register-level commands described in the datasheet. Therefore, the use of the RFAL library is recommended: the same API can be reused on different products of the ST25R family without having to change the application code.

    Rgds

    BT

    Super User
    January 6, 2026

    Indeed.

    But if @LeoWu wants to write something from scratch, the datasheet would always be the place to start...