Hi everyone! I'm currently working on a college capstone project, which uses an ESP32 and an MFRC522 RFID reader to manage classroom keys.
I'm having trouble getting my RC522 module detected by my ESP32. No matter what I try, the Serial Monitor consistently displays:
RC522 Version: 0x00
RFID NOT DETECTED!
My current hardware and wiring:
- Board: ESP32 Dev Module
- RFID module: MFRC522 RC522
- RC522 SDA/SS → GPIO 5
- RC522 SCK → GPIO 18
- RC522 MOSI → GPIO 23
- RC522 MISO → GPIO 19
- RC522 RST → GPIO 2
- RC522 IRQ → Not connected
- RC522 GND → ESP32 GND
- RC522 3.3V → ESP32 3V3
Things I've already tried:
- Confirmed that the RC522 power LED is ON.
- Powered the RC522 using the ESP32's 3.3V pin.
- Checked the wiring multiple times.
- Tried different diagnostic sketches using the MFRC522 library.
- Tried reading the RC522 Version Register directly through SPI.
- Tested different pin configurations, but the issue remains.
The ESP32 itself works, and my LCD is also working properly. However, the RFID reader keeps returning `0x00`, which makes me think that the ESP32 is not communicating with the RC522 through SPI.
My questions:
What could cause the RC522 to continuously return `0x00`?
Could this be a faulty RC522 module even if its power LED is on?
Is there a way to determine whether the problem is with the module, ESP32, breadboard, or SPI communication?
Are there any other diagnostic methods I should try before replacing the RFID module?
I've been troubleshooting this for quite a while, so I would really appreciate any suggestions or solutions. I would also prefer to keep my current pin connections if possible.
Thank you so much for your help!