RC522 not reading cards

I have uploaded this code right here which is the example code, I have 2 RC 522 modules, the first one I tested and it worked fine, but when I connected the second one �Firmware Version: 0x82 = (unknown)
Scan PICC to see UID, SAK, type, and data blocks... got printed in the Serial Monitor. I tried placing my RFID cards but no response came whereas the other reader worked just fine and printed out the data.

/*
* --------------------------------------------------------------------------------------------------------------------
* Example sketch/program showing how to read data from a PICC to serial.
* --------------------------------------------------------------------------------------------------------------------
* This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
* 
* Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID
* Reader on the Arduino SPI interface.
* 
* When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE
* then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When
* you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output
* will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages
* when removing the PICC from reading distance too early.
* 
* If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading).
* So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all
* details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so
* keep the PICCs at reading distance until complete.
* 
* @license Released into the public domain.
* 
* Typical pin layout used:
* -----------------------------------------------------------------------------------------
*             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
*             Reader/PCD   Uno/101       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
*
* More pin layouts for other boards can be found here: https://github.com/miguelbalboa/rfid#pin-layout
*/

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

#define RST_PIN 2  // Configurable, see typical pin layout above
#define SS_PIN 5  // 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
   delay(4);                           // Optional delay. Some board do need more time after init to be ready, see Readme
   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() {
   // Reset the loop if no new card present on the sensor/reader. This saves the entire process when idle.
   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));
}

(edited by J-M-L to fix the code tags that were there but with spaces)

Read the pinned post re 'How to get the most from the forum'
Code tags are needed to properly display code and the serial monitor.

I corrected your post to fix code tags around your code (please read How to get the best out of this forum )

did you unplug the first unit when you plugged in the second one ? did you power off everything before switching?

2 Likes

Post your annotated schematic that shows all connections, power sources and note any wire over 25cm/10”. Post links to technical information on each of the hardware devices.

Thank you for your reply, I am using ESP32 Microcontroller and powering the RC522 with 3.3v on ESP32 and ESP32 is being powered by my PC's USB port. All wires are under 10cm.

1 Like

Thanks for you reply, Yes i did power off everything before plugging the second module

Even though the module uses a counterfeit chip with the ID 0x82, if it's working properly, it will read the data. The module is faulty. I've made changes to the library for the module with this ID, but if it's faulty, I won't be able to get it to read.

So, the module is faulty?

Yes!!!

Ok :frowning: is there any way to revive it?

Ok no problem, thanks for you response though.

Can you suggest a trustable place to buy these RFID modules?

Buy from a brand name which has a good return policy… (or at the price of those modules buy 10 from the far east from different suppliers)

Do you plan to connect more than one to the ESP32 ?

1 Like

No just one module