NFC: Tag Reader

The NFC Tag Reader sample demonstrates how to use the NFC Reader ST25R3911B driver to interact with an NFC-A Tag.


The sample shows how to use the ST25R3911B NFC Reader to read data from a tag that supports the ISO/IEC 14443 standard (NFC-A technology).

Before reading data, the sample detects which NFC technology is used by sending the appropriate initialization commands (ALL Request, SENS Request). It also performs automatic collision resolution.

Supported tag types:

  • NFC Type 2 Tag


  • One of the following development boards:
    • nRF52840 Development Kit board (PCA10056)
    • nRF52 Development Kit board (PCA10040)
  • NFC Reader ST25R3911B Nucleo expansion board (X-NUCLEO-NFC05A1)
  • NFC Type 2 Tag

Building and running

This sample can be found under samples/nfc/tag_reader in the nRF Connect SDK folder structure.

See Building and programming a sample application for information about how to build and program the application.


After programming the sample to your board, you can test it with an NFC-A Type 2 Tag.

  1. Connect the Nucleo expansion board to the development kit board.
  2. Connect to the board with a terminal emulator (for example, PuTTY). See How to connect with PuTTY for the required settings.
  3. Reset the board.
  4. Touch the ST25R3911B NFC Reader with a Type 2 Tag.
  5. Observe the output in the terminal. The content of the tag block is printed there.
  6. After a little delay, the tag can be read again.


This sample uses the following nRF Connect SDK drivers:

In addition, it uses the following Zephyr libraries:

  • include/zephyr/types.h
  • include/misc/printk.h