Table of Contents
- RFID vs NFC Basics
- Frequency Bands Compared
- Security Comparison
- Indian Market Overview
- DIY RFID with Arduino
- FAQ
RFID vs NFC Basics
Both NFC and RFID use electromagnetic induction for wireless communication between reader and card/tag. NFC is a specific short-range RFID standard at 13.56MHz with 4-10cm maximum range. In Indian access control: 125kHz EM4100 (legacy corporate offices) and 13.56MHz Mifare/NFC (new installations) dominate. All NFC is RFID, but not all RFID is NFC.
Frequency Bands Compared
| Feature | 125kHz LF RFID | 13.56MHz HF / NFC |
|---|---|---|
| Read range | 5-15cm | 4-10cm |
| Card memory | 64 bits read-only | 1KB-8KB read-write |
| Smartphone compatible | No | Yes (Android NFC) |
| Cloning risk | Very high – Rs 500 duplicator | Low (Mifare DESFire) |
| Reader cost India | Rs 300-800 | Rs 800-2,500 |
Security Comparison
125kHz EM4100 cards transmit ID in plain text with zero encryption. Any Rs 500-800 RFID duplicator can clone these cards in 5 seconds – the primary security weakness in Indian offices. Mifare Classic (13.56MHz) has mutual authentication but its Crypto-1 encryption was broken in 2008. For high security: use Mifare DESFire EV3 cards with AES-128 (Rs 150-250 per card). Standard Mifare Classic cards: Rs 30-80 per card.
Indian Market Overview
- Corporate offices: Predominantly HID Prox 125kHz legacy. Upgrade cost: Rs 800-1,500 per door.
- New construction: Mifare 13.56MHz now specified. Indian brands: Essl, Realand, Matrix.
- Residential gates: Still 125kHz (Rs 10-20 per card versus Rs 50-80 for Mifare).
- Mobile credentials: Android NFC can emulate Mifare cards. iOS limited to reading only for DIY systems.
DIY RFID with Arduino
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN,9);
void setup(){ SPI.begin(); mfrc522.PCD_Init(); }
void loop(){
if(!mfrc522.PICC_IsNewCardPresent()) return;
if(!mfrc522.PICC_ReadCardSerial()) return;
String uid="";
for(byte i=0;i<mfrc522.uid.size;i++)
uid+=String(mfrc522.uid.uidByte[i],HEX);
uid.toUpperCase();
// Check against stored UIDs
Serial.println(uid);
mfrc522.PICC_HaltA();
}
Frequently Asked Questions
Can I use my Indian bank card as an RFID card?
Indian contactless cards use 13.56MHz NFC. The MFRC522 reads their UID but not payment data (encrypted). Using bank card UIDs for access control is not recommended as cards change when replaced or renewed.
Why is 125kHz still used despite being insecure?
For low-threat environments like apartment car parks or canteen access, the Rs 10-20 card cost advantage outweighs cloning risk when physical deterrents (guard, CCTV) supplement the system.
How many RFID cards can Arduino EEPROM store?
Arduino Uno has 1KB EEPROM. Each 4-byte UID with marker = 5 bytes = 204 cards maximum. For larger installations, use SD card or ESP32 with remote server lookup.
Mifare Classic 1K vs 4K – which to choose?
For simple UID-based access control, both are identical. 4K (4096 bytes) only adds value when storing additional per-card data (access levels, personal info, attendance history) directly on the card itself.
Add comment