MFRC522 RFID Reader Only Scans Blue Tags, Not White Cards

Hardware Setup:

  • Arduino Uno
  • MFRC522 RFID Reader
  • Standard SPI Connections:
    • RST -> Pin 9
    • SDA (SS) -> Pin 10
    • MOSI -> Pin 11
    • MISO -> Pin 12
    • SCK -> Pin 13
    • 3.3V from Arduino to RFID VCC
    • GND from Arduino to RFID GND

Code Used:

/* Typical pin layout used:
 * -----------------------------------------------------------------------------------------
 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
 *             Reader/PCD   Uno           Mega      Nano v3    Leonardo/Micro   Pro Micro
 * Signal      Pin          Pin           Pin       Pin        Pin              Pin
 * -----------------------------------------------------------------------------------------
 * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
 * SPI SS      SDA(SS)      10            53        D10        10               10
 * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
 * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
 * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
 */

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         9          // Configurable, see typical pin layout above
#define SS_PIN          10         // Configurable, see typical pin layout above

MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

void setup() {
	Serial.begin(9600);		// Initialize serial communications with the PC
	while (!Serial);		// Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
	SPI.begin();			// Init SPI bus
	mfrc522.PCD_Init();		// Init MFRC522
	mfrc522.PCD_DumpVersionToSerial();	// Show details of PCD - MFRC522 Card Reader details
	Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}

void loop() {
	// Look for new cards
	if ( ! mfrc522.PICC_IsNewCardPresent()) {
		return;
	}

	// Select one of the cards
	if ( ! mfrc522.PICC_ReadCardSerial()) {
		return;
	}

	// Dump debug info about the card; PICC_HaltA() is automatically called
	mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

Problem Description: I am using an Arduino Uno and an MFRC522 RFID reader module for my project. The module successfully scans blue key fob tags but does not scan white RFID cards. Both types of tags are supposed to be 13.56 MHz and compatible with the MFRC522 reader.

Troubleshooting Steps Taken:

  1. Verified wiring and connections as per the typical pin layout.
  2. Ensured stable 3.3V power supply to the RFID reader.
  3. Tested with multiple blue tags (all are scanned successfully).
  4. Tried different white cards (none are scanned).
  5. Added 510 Ohm resistors in series with SCK, MOSI, RST, and SDA, and 1K Ohm pull-down resistors on the RFID reader side, as suggested for signal integrity (did not resolve the issue).

Request: I am seeking advice on why the RFID reader might scan blue tags but fail to scan white cards. Are there any specific compatibility issues or additional troubleshooting steps I should consider?

Additional Information:

  • Using the MFRC522 library.
  • The blue tags and white cards are supposed to be 13.56 MHz.
  • The issue persists with multiple white cards, suggesting it's not a single faulty card.

Thank you for your help!

do you have a link to where you bought the cards? maybe you got the wrong type?

i am working in a lab and all the components are provided by them
here is the photo of those cards

The RC522 module is commonly used with MIFARE Classic tags, and whilst it can also work with other 13.56 MHz RFID tags that follow the ISO/IEC 14443A standard (like MIFARE Ultralight, MIFARE DESFire), true compatibility may vary depending on the specific protocols supported by the RFID tags themselves regardless of the frequency (the tags could use a different protocol and encryption method compared to standard ISO/IEC 14443A tags).

➜ your tags seem pretty thick compared to the usual MIFARE Classic credit card like tags used with the RC522 module - and if they are used for business purpose they might have a stronger security than the one found in MIFARE Classic tags.

You would need to know the exact standard they support.

thanks for helping
may be cards are very thick
i will let go with blue tags

I have seen tags like that in the past. These have always been RFID cards in the 125 to 135KHz region. Also these have always been programmable cards, as opposed to the normal thinner read only cards.

I used to work in Access Control so I am familiar with lots of sorts of card.

1 Like

maybe the reason why you can't read them is because 13.56MHz is not their resonant frequency.

RFID tags in this range do not have a resonant frequency at 13.56MHz.
Their resonant frequency is a quarter of this, and is the frequency the card uses to detect interaction with the RF field the card.

In fact no sort of RFID coil should be at resonance with the exciting frequency, it is normally slightly off in order for it to work correctly.

okay, cool, I thought they might need to resonate, but I guess I'm wrong.

1 Like


i tore down one card as u can see in attached image , can it work with the RC522 module?

No. Too many turns on the coil for 13MHz. That is a 125KHz cad.

If you can get a signal generator, get it to produce 125KHZ, and attach it to one coil like this through a series 10 to 32 Ω resistor. Then measure the voltage across the resistor using an oscilloscope you should be able to spot the resonant frequency by seeing where this voltage reaches a maximum.

Also you will get enough signal to be able to light up an LED.

One of our directors at the company I worked at had me make one for him with a perspex tag, that lit up when he presented it to a door. He used it to show off to clients.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.