I have been all over the internet to try and find a solution to this, but after one solid week of intense Google searching I have come up with nothing.
What I'm trying to accomplish:
I am simply trying to use the RFID-RC522 NFC reader on an NodeMCU development board (built in ESP8266) with the mfrc522 library.
Problem:
Upon initiating the mfrc522 library, reaching the line mfrc522.PCD_Init();
the Serial outputs the following "error":
Soft WDT reset
ctx: cont
sp: 3ffefa10 end: 3ffefc40 offset: 01b0
>>>stack>>>
3ffefbc0: 00241001 00000001 3ffeec20 40106895
3ffefbd0: 00000002 3ffee9d8 3ffee9f4 40202794
3ffefbe0: 402010b2 00000001 00000032 402010a7
3ffefbf0: 3fffdad0 00000010 3ffee9d8 4020290d
3ffefc00: 402010b2 3ffee9d8 3ffee9d8 40202a01
3ffefc10: feefeffe 00000000 3ffeebec 40202080
3ffefc20: feefeffe 00000000 3ffeec08 40203e08
3ffefc30: feefeffe feefeffe 3ffeec20 40100108
<<<stack<<<
R+⸮⸮⸮
I found a tool that can translate the error EspExceptionDecoder, translated error:
Decoding 10 results
0x40106895: __digitalWrite at C:\Users\my_user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\cores\esp8266/core_esp8266_wiring_digital.c line 84
0x40202794: MFRC522::PCD_ReadRegister(MFRC522::PCD_Register) at C:\Users\my_user\Documents\Arduino\libraries\MFRC522\src/MFRC522.cpp line 1141
0x402010b2: delay at C:\Users\my_user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\cores\esp8266/core_esp8266_wiring.c line 54
0x402010a7: delay at C:\Users\my_user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\cores\esp8266/core_esp8266_wiring.c line 51
0x4020290d: MFRC522::PCD_Reset() at C:\Users\my_user\Documents\Arduino\libraries\MFRC522\src/MFRC522.cpp line 1141
0x402010b2: delay at C:\Users\my_user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\cores\esp8266/core_esp8266_wiring.c line 54
0x40202a01: MFRC522::PCD_Init() at C:\Users\my_user\Documents\Arduino\libraries\MFRC522\src/MFRC522.cpp line 1141
0x40202080: setup at C:\Users\my_user\OneDrive\Arduino\projekter\RFID_DumpInfo_test/RFID_DumpInfo_test.ino line 53
0x40203e08: loop_wrapper at C:\Users\my_user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\cores\esp8266/core_esp8266_main.cpp line 57
0x40100108: cont_norm at C:\Users\my_user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\cores\esp8266/cont.S line 109
When the mfrc522.PCD_init();
line is commented out the stack-error does not appear.
Reading the NFC tags has worked before on the NodeMCU unit, and I sometimes stubmled upon this error when adding one simple line like var1 = var2;
somewhere in the loop, but now the error is there constantly, even with code that once worked - however I did change the pin-loadout, and I suspect that this is the problem.
What I have tried:
- With the configurable pins I have tried most combinations I could think of, trying both the SS and the RST in every available pin.
- this Github example suggets
- this instructables tutorial.
- 3 different RFID-RC522 modules (same model)
- 2 different NodeMCU units (same model)
Pin layout:
My pin layout for the RFID-RC522 module is as follows;
- SDA (SS): D4
- RST: D3
- SCK: D5
- MOSI: D7
- MISO: D6
- GND: GND
- 3v3: 3v3
Arduino project info:
- Arduino IDE 1.8.5
- Latest MFRC522 from the Library Manager
- Board: NodeMCU 1.0 (ESP-12E Module)
Code:
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN D4
#define RST_PIN D3
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
delay(100);
SPI.begin();
delay(100);
mfrc522.PCD_Init();
mfrc522.PCD_DumpVersionToSerial();
Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}
I've been on this issue for days now, and my Google searches tell me that I'm not the only one who has had this problem before. Any input is very welcome.