NFC: Tag Reader

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

Overview

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). This device can be used to read and parse content of an NFC Type 2 Tag or Type 4 Tag.

After successful parsing, the tag content is printed using the logging subsystem.

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

  • NFC Type 4 Tag

Requirements

  • One of the following development boards:

    • nRF52840 DK board (PCA10056)

    • nRF52 DK board (PCA10040)

  • NFC Reader ST25R3911B Nucleo expansion board (X-NUCLEO-NFC05A1)

  • NFC Type 2 Tag or Type 4 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.

Testing

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

  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 or Type 4 Tag.

  5. Observe the output in the terminal. The content of the tag is printed there.

  6. After a little delay, the tag can be read again.

Dependencies

This sample uses the following nRF Connect SDK drivers:

This sample uses the following nRF Connect SDK libraries:

In addition, it uses the following Zephyr libraries:

  • include/zephyr/types.h

  • include/sys/printk.h