Questions tagged [nfc]

Near Field Communication (NFC) is a set of short-range communication protocols that enables electronic devices to exchange data within short distances of roughly 10 cm or less. Can be used with Tags [mifare] [iso-15693] [ndef] [nfc-p2p], etc., as some questions are very specific to the NFC Tag type.

Near field communication (NFC) builds on the RFID standards that have bi-directional contactless communications: ISO/IEC 14443, ISO/IEC 18092 and JIS 6319-4 (FeliCa). Nowadays, almost all smartphone manufacturers (and some tablet manufacturers) have added support for this technology in their high-end devices. It allows users to share data through NFC tags and NFC peer-to-peer communication between 2 devices and, in some regions, to use their device as a contactless payment card.

Tag Types & Modes of operation

In addition to the signaling technologies used by near field communication technology, four tag types and two sets of active/passive roles exist. Tag types refer to the speed and compatibility between an NFC tag and NFC readers, and the roles define how active and passive devices respond during a NFC communication. Most often a URL will be embedded in a NFC tag. URLs take up only a small amount of memory, lowering the production cost of the NFC tags since many are placed on posters or other items that are thrown away later on. NFC tags can, however, hold nearly any type of information, though more memory costs more money.

Tag Types:

  • Type 1: Type 1 NFC tags have data collision protection and can be set to either read and rewrite capable or read-only. Read-only programming prevents the information from being changed or written over once embedded in the tag. Type 1 tags have 96 bytes of memory, enough for a URL or a small amount of data. The tag’s memory can expand to a larger size as needed. The low price makes type 1 tags to ideal choice for most near field communication needs.
  • Type 2: Type 2 NFC tags also have data collision protection and can be rewriteable or read-only. They start at 48 bytes of memory, half of what the type 1 tags can hold, but can expand to be as large as a type 1 tag. Communication speeds are the same for tag types 1 and 2.
  • Type 3: Also equipped with data collision protection, NFC tag type 3 has larger memory and faster speeds than tag types 1 and 2. This tag is part of the FeliCa system. The bigger size lets it hold more complex codes beyond URLs, but it costs more to create each tag.
  • Type 4: Type 4 NFC tags can use either NFC-A or NFC-B communication and have data collision protection. The tag is set as either rewritable or read-only when manufactured and this setting cannot be changed by the user, unlike the other NFC tags which can be altered at a later date. The tag holds 32 Kbytes in memory and has faster speeds than the other tags.
  • Type 5: Type 5 NFC tags use NFC-V communication and offer support for offers support for the ISO/IEC 15693 specification. Type 5 Tags are NFC-RFID crossover technology that gives longer range ‘vicinity’ communication with dedicated reader hardware and also allows ‘proximity’ interaction with a NFC readers.

In addition to the five tag types, four modes of operation exist. The modes – reader/writer, card, initiator, and target – describe what role a device or tag is playing in an NFC transaction. Devices can switch between more than one role depending on the transaction being processed.

NFC Basic Roles:

  • Reader/Writer and Card – Typically a transaction occurs between an active device that sends out signals and receives information and a passive device that simply sends the information and does not receive anything other than instructions on what data to reply with. The reader/writer is the smartphone serving as the active device and the card is the NFC tag serving as the passive device. Smartphones can take on the role of card, however, when they act as a credit card for contactless payments. Then the credit card reader becomes the reader/writer and the smartphone serves as the passive card device.
  • Initiator and Target – NFC technology has a major advantage over other technologies such as RFID. NFC can create peer-to-peer sharing between two phones. In this case, the phone making the connection or sending an invitation is the initiator and the phone receiving the instructions and sending back information is the target. Yet both phones can serve both roles by switching back and forth depending on what transmission is being sent, though this requires a higher level of technology.

The Nokia C7-00 was the first smartphone with NFC shortly followed by the Google Nexus S. Any two NFC-enabled Android or Windows (Phone) 8 devices can share data by touching with each other, such as web page URLs, files and even apps. The first Android OS that supported NFC was 2.3.3. Android 4.0 made NFC more powerful with the so-called Android Beam functionality. Android NFC devices often also support the related RFID technology ISO/IEC 15693. Many devices also support the proprietary MIFARE protocol.

In addition to the commercial products, the academic world seems to be interested in this technology as well. More and more literature is published in areas like home care, mobile sensing and game supply.

The is the first Apple hardware to offer NFC, limited reading support was available in iOS 11 with more complete reading and writing support available in iOS 13

4425 questions
1
vote
0 answers

how to emulate nfc card in a flutter?

i would like to expose informations through my flutter application so that we can read them with nfc technology. in other terms i would like to emulate nfc card with application. what i tried to do is implement the example of this flutter package…
Ramses Kouam
  • 531
  • 5
  • 14
1
vote
2 answers

Nfc-V tag reading example?

Could somebody provide an NFC-V tag reading example code? Android Development Guide provides only the NFCDemo code that is for NDEF tag only. There are no resources for all the other kinds of tags. Thanks!
nobrand
  • 11
  • 2
1
vote
1 answer

Why android NFC can read some contactless emv credit cads but not others?

I already looked at this question: Reading Visa payWave Credit Card Details via NFC on Android and I have started writing an app that can read my Visa contactless card but when I tap a Visa Contactless Debit I get nothing, not even a hint that nfc…
Grepsoft
  • 31
  • 2
  • 6
1
vote
2 answers

Is it possible to pass a URL between activities through an Intent?

I am developing an Android App that reads an NFC tag, retrieves the NDEF Message, and then passes it to a WebView activity to display that URLs Website. I am checking on the Logcat and the URL is being read, but I don't think that the URL is being…
Tomas Mota
  • 19
  • 3
1
vote
2 answers

No Compatible Devices Found using WebHID on Chrome

I am trying to use the ACR122U NFC Reader with the WebHID API but I cannot seem to get it to be found by Chrome 91 Desktop on both Linux nor Windows. I know the browser is seeing the reader from chrome://usb-internals showing me this screen: The…
rxm
  • 71
  • 2
  • 11
1
vote
2 answers

Is there a way to detect rfid chip on an iphone?

i know iphone 4 does not have a NFC chip built in but i am wondering if i can still detect a rfid chip maybe using wifi signal or celluar signal?
jin
  • 114
  • 2
  • 12
1
vote
0 answers

How to set system parameters for contactless communication while installing the applet?

I am trying to access my applet using the NFC interface of my mobile phone. I have two questions. Consider I have a mobile phone with SWP connected to the SIM card. What are the necessary steps to do to enable applet selection and interaction…
MJay
  • 987
  • 1
  • 13
  • 36
1
vote
1 answer

CoreNFC - NFCNDEFReaderSession session couldn't start after invalidation on iPhone 8

The issue is reproduced only on old NFC devices like iPhone 8 which don't have a background NFC reading, but everything good on iPhone 12, 11, X. After clicking cancel (invalidate session) - it is impossible to start the NFC session again. Only…
1
vote
1 answer

How to match the proper fit with track 2 equivalent data in ATM contactless transaction

When i make a contactless transaction, no fit is matched with the card BIN even if the fit is well configured. The ATM use the track2 to match the fit, but since the transaction is contactless, the track 2 is empty. Is there any way to use the…
1
vote
1 answer

Android NFC, secure element on SD card

Does anybody see the possibility to enable (by enable I mean even compile the sources, e.g. as shown by Gerald Madlmayr on the…
STeN
  • 6,262
  • 22
  • 80
  • 125
1
vote
0 answers

problem with 2-step verification in gmail using FIDO U2F virtual authenticator

I am in developing application for Android smartphone for make WebAuthn authentication using FIDO U2F protocol by NFC interface. For reference purpose I use Yubikey 5 NFC Token. The application creates virtual token and support FIDO U2F NFC protocol…
Evgeniy
  • 11
  • 3
1
vote
1 answer

React-Native: Passing the value of a TextInput to a function

i'm trying to pass the value of TextInput into let bytes = buildUrlPayload('https://www.google.co.uk'); so that the url can be dynamically written in app. Can anyone help me achieve this? Thanks function buildUrlPayload(valueToWrite) { …
1
vote
1 answer

Intent for "Settings > Connected Devices > Connection Preferences" page

I'd like to know the Intent for the AdvancedConnectedDeviceDashboardFragment. On API 28 this page can be reached through: Settings > Connected Devices > Connection Preferences. This fragment contains all the advanced connection preferences(i.e,…
Martin Zeitler
  • 1
  • 19
  • 155
  • 216
1
vote
0 answers

Send Loyalty card NFC data before launching Google Pay

I have made an Host APDU Service that listens on 2PAY.SYS.DDF01 message. Then it sends loyalty card details to the payment terminal. Here is my AID filter:
Valtteri
  • 13
  • 5
1
vote
1 answer

ISO14443 - React Native NFC sometimes "Tag connection lost" - only on iOS

Context & Problem: I’m writing a React Native application which has to communicate with NFC MiFare Ultralight tags. I have NXP NTAG I2C PLUS ISO14443-3 tags. I’m using the react-native-nfc-manager library for this. On android I didn’t notice any…