| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
NFC library and modules

Near field communication (NFC) is a technology for wireless transfer of small amounts of data between two devices. It uses very simple communication protocols and therefore allows quicker connection than BLE. However, because NFC uses magnetic induction to enable communication, the devices must be very close (< 10 cm) to connect.

NFC supports different modes of operation. In reader/writer mode, one of the NFC devices (the polling device) is active and requests and reads data from the other device (the tag). The NFC tag is passive. It does not generate an electromagnetic field, but it modulates the field that is generated by the polling device. The tag contains data, such as a URL, that can be read and written by the polling device.

The nRF52 IC contains an NFC tag that works in NFC-A technology. The SDK provides libraries and modules to program this tag as Type 2 Tag, based on the NFC Forum Type 2 Tag Operation Specification (see NFCT — Near field communication tag). NFC Type 2 Tag gives information about this tag type and explains how to program it.

NFC communication uses NFC Data Exchange Format (NDEF) messages to exchange data. The SDK provides modules for Generating messages and records to make it easy to generate such messages.

If you want to implement your own polling device, you can use the parser libraries supplied in the SDK. Note that you need additional hardware for reading NFC tags. The Adafruit NFC Shield library provides functions to read and write NFC tag data.

Simplified overview of how NFC can be used

NFC Type 2 Tag nRF52 only

NFC Data Exchange Format

Adafruit NFC Shield library