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
1 answer

Sending data, using HCE, or using secure element? (Android, Kotlin, Mifare 1k)

I'm trying to implement the functionality for emulating a Mifare One (1K/S50, ISO14443A) chip to be able to use a phone with NFC capability instead of a physical Mifare card or, if possible sending only the data to the reader. I have this type of…
atanii
  • 226
  • 2
  • 12
1
vote
1 answer

nfc_in_flutter: How to prevent "New Tag Scanned" in android version?

I implement NFC in my Flutter app using https://pub.dev/packages/nfc_in_flutter package. The thing is NFC is perfectly running in iOS app but in Android after scanning NFC, its automatically open "New Tag Scanned" / "Default Tag Viwer" Screen. Any…
1
vote
2 answers

How to force one activity with same intent filters in Android?

i am making a Android App with discovery nfc. When i discovery a NFC tag, i have to select the application (Default android app and my app). What i can do in my app for Android system dont ask what app i what open? My idea is launch my app for…
Vítor Nóbrega
  • 1,219
  • 4
  • 26
  • 53
1
vote
1 answer

Is there any memory limit for NFC card emulation?

I want to send information from an Arduino to a phone via NFC. To do this I have a PN532 module. The way I want to send information is to use the module to emulate an NFC tag and read the message from the phone. The reason I don’t want to use a real…
1
vote
3 answers

Write Data to NFC smartcard in Java

I was asked to write a simple program to read and write data from smart card (MIFARE) using NFC but I am stuck. I have to get the UID (so far so good), write some datas taken from a DB in some of the blocks of the card (no way). I have to use Java…
SCdev
  • 101
  • 2
  • 12
1
vote
1 answer

Flutter NFC lock

Hello anyone works with NFC before https://pub.dev/packages/nfc_manager I used this package before and I have a problem now that after writing on NFC card I wanna lock it to stop writing on it again and be read-only I have an android app do this…
Adham Elnagar
  • 143
  • 1
  • 10
1
vote
1 answer

how to write nfc NTAG215 cards and read it without an app on iphone

I am interesting in writing an url to NTAG215 cards, so far I have download some apps for Ios tagwriter and NFC tools however once I try to read the card I have to open the app and read it, and my intention is to approach the phone and it will be…
1
vote
0 answers

NXP NFC Reader PNEV512R not working with Raspberry Pi 4

NXP's NFC card reader PNEV512R (https://www.nxp.com/products/rfid-nfc/nfc-hf/nfc-readers/explore-nfc-exclusive-from-element14:PNEV512R) does not work with my new raspberry pi 4. Kernel: Linux AlexPi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020…
EGuy
  • 211
  • 1
  • 3
  • 10
1
vote
4 answers

Android 10 NFC App - Stops working when phone sleeps while in MS Intune Kiosk Mode

No one can figure this one out. We are using Microsoft Intune to lock some phones (Samsung) to a single NFC scanning android application. Worked great using Android 9. However, with no change to Intune, the app does not work on Android 10. It works…
Chris Norris
  • 197
  • 1
  • 2
  • 13
1
vote
1 answer

Is there any way to stop my Android App from scanning nfc tags in the background?

So let's say I wanna make an app that scans an nfc tag when the user taps the "scan tag" button. Currently I am having a few issues with it even though I spent the last week trying to figure it out on my own The main issue that I am facing is that…
Andry
  • 37
  • 9
1
vote
1 answer

Is there a public NFC Specification for App Clip?

Is there a public specification for the NFC part of the new-for-2020 App Clip? Is it just an External NDEF record? I'm asking as someone who is responsible for encoding NFC and RFID chips, not as an app developer.
Larry Martin
  • 89
  • 1
  • 10
1
vote
0 answers

PN532 emulated card not read by an iphone but can with Android

I am using the PN532 as an emulator using the emulate_tag_ndef.ino example from arduino. I updated the emulate library according to another post (PN532 emulated card not read by an Android phone) to make it work, but it only works with Android. With…
1
vote
0 answers

How to get 'ndefMessage' object value using 'nfc.readerMode()' function in ionic/typescript

I created a function under which I am calling this code : - this.nfc.readerMode(this.flags).subscribe((tag) => { this.sucessMessage = tag; his.scanSuccessfully('Scanned successfully.'); }, (error) => this.errorMessageNFC(error)); When NFC tag is…
1
vote
1 answer

How to get plain text from NFC Tag?

I have tried to implement the code from Google documentation but it is still not clear for me. What am I missing here? This is method in MainActivity.java: @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); …
Camil
  • 97
  • 1
  • 8
1
vote
1 answer

Android app auto launch the particular activity by tapping nfc tag

I want to launch the app's particular activity by tapping the nfc tag. I can able to write only package name. but along with package name, i want to add one string and based on the string, i want to launch the activity.