ESP32 connecting with RFID RC522 fails

Neitsch
Posts: 2
Joined: Tue Apr 05, 2022 2:29 pm

ESP32 connecting with RFID RC522 fails

Postby Neitsch » Tue Apr 05, 2022 2:53 pm

Hi,

I'm new in the ESP32 field, have only experience with arduino. I am wondering if there might be some general thing I missunderstood in working with ESP 32. I used this code example of the MFRC522 library called DumpInfo... I watched several Videos where it worked perfectly, also used the same wiring shematics.( attached) I was wondering because some people used either Pin 5 or 21 for the SS but either way it worked. I also checked wiring connections, I checked everything on the hardware side so it must work, but it doesen't.
I then tryed to connect it with arduino and it worked. So the hardware is good. I'm lost, I tryed everything and have no Idea what it could be... might be a SPI relatet Issue or so but idk. I have a ESP32 wroom with two cores, don't know if that is releveant or not.
I hope anyone can help me







[Codebox] /*
* --------------------------------------------------------------------------------------------------------------------
* 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 22 // Configurable, see typical pin layout above
#define SS_PIN 21 // 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));
}[/Codebox]
Attachments
Screenshot 2022-04-05 164345.png
Screenshot 2022-04-05 164345.png (409.24 KiB) Viewed 7924 times

abansal22
Posts: 105
Joined: Wed Apr 22, 2020 8:24 am

Re: ESP32 connecting with RFID RC522 fails

Postby abansal22 » Fri Jun 10, 2022 6:23 am

means you want to connect using the esp-idf?

lbernstone
Posts: 826
Joined: Mon Jul 22, 2019 3:20 pm

Re: ESP32 connecting with RFID RC522 fails

Postby lbernstone » Fri Jun 10, 2022 3:44 pm

The numbers listed on the drawing are ok, but are not the default. You can supply numbers to SPI when you call begin (https://github.com/espressif/arduino-es ... /SPI.h#L63)

Code: Select all

SPI.begin(18, 19, 23, 21); //SCK, MISO, MOSI, SS

abansal22
Posts: 105
Joined: Wed Apr 22, 2020 8:24 am

Re: ESP32 connecting with RFID RC522 fails

Postby abansal22 » Fri Jun 10, 2022 4:51 pm

lbernstone wrote:
Fri Jun 10, 2022 3:44 pm
The numbers listed on the drawing are ok, but are not the default. You can supply numbers to SPI when you call begin (https://github.com/espressif/arduino-es ... /SPI.h#L63)

Code: Select all

SPI.begin(18, 19, 23, 21); //SCK, MISO, MOSI, SS
https://randomnerdtutorials.com/esp32-p ... 22%20(SCL)

This can help you!

bidrohini
Posts: 202
Joined: Thu Oct 27, 2022 12:55 pm

Re: ESP32 connecting with RFID RC522 fails

Postby bidrohini » Wed Apr 26, 2023 2:50 pm

You can follow this tutorial for cross-checking.
https://www.pcbway.com/project/sharepro ... bc86e.html
This is based on ESP32-Wroom and MFRC522.

Who is online

Users browsing this forum: DonEvans and 92 guests