letscontrolit / ESPEasy

Easy MultiSensor device based on ESP8266/ESP32
http://www.espeasy.com
Other
3.29k stars 2.22k forks source link

Read error PN532 #3786

Closed PrutzerNL closed 1 year ago

PrutzerNL commented 3 years ago

I have a PN532 (I2C) connected on a NodeMCU (ESP8266) Everything was working fine. The NFC reader was working. But as soon as I changed an unused pin GPIO boot state: mode GPIO-13 (D7) to output low the PN532 stopped the PN532 stopped working. In the log file I see read error’s.

When I change the unused pin to default it was working again. But after some trying, the PN532 stopped working completely. Resetting the PN532, power everything off and on, nothing will help anymore. I also reset the whole EPS8266 to default, but it did not help.

Firmware: 20210802 (Energy) and 20210114 (Energy) Slow device Clock Speed does not help.

Is this a bug? I’m I doing something wrong?

Error:

507961: PN532: Read error: 124 507961: PN532: Reset on pin: 12 508259: PN532: Read error: 125 508259: PN532: Reset on pin: 12 508561: PN532: Read error: 126 508561: PN532: Reset on pin: 12

TD-er commented 3 years ago

What GPIO pins do you use for I2C? The default 4&5 (GPIO, not NodeMCU notation) ?

PrutzerNL commented 3 years ago

I use:

SDA: GPIO-4 (D2) SCL: GPIO-5 (D1)

tonhuisman commented 3 years ago

Does the I2C bus have proper terminating resistors installed? (Though I think most of these readers have them installed by default, it's possible you have one that doesn't.) You can try to add 10 k resistors between SDA and 3V3 and SCL and 3V3.

tonhuisman commented 3 years ago

And another thing to check: Have you set 'I2C ClockStretchLimit:' (On Tools/Advanced page)? The source code suggests it should be set to 2000 for this device (though that's probably the only place where that is mentioned, in a comment of the plugin source)

Edit: I have added this as a warning to the documentation, PR: (to be created).

And OT: This would have better gone in the Forum, as this very likely not a software issue, as it has been working fine so far.

PrutzerNL commented 3 years ago

I did set ClockStretchLimit to 2000. It did not help. I will try a 10K resistor.

Edit: 10K resistors are also not working.

I tried another ESP8266 board. A D1 mini. Exacly the same problems. Maybe my PN532 is dead? I will try if it works on my laptop with Windows 10.

tonhuisman commented 3 years ago

Can also be a problem in the wiring of the board 🤔

PrutzerNL commented 3 years ago

I did change SDA SCL a few time to test. That was not the case. I use 3.3V to power the PN532. Should I try 5V? I think 3.3 is the saved because I2C does not like 5V. The dipswitches are set to I2C. And reset pin is connected to RSTPDN pin.

tonhuisman commented 3 years ago

did change SDA SCL a few time to test

I was suggesting that maybe one of the wires is broken (even though it worked fine before), that sometimes happens.

PrutzerNL commented 3 years ago

Change all the wires and measured all the wires. Changed to Tasmota. That is also not working. I think my PN532 is dead.

TD-er commented 3 years ago

Sounds like it. Still strange it may be destroyed by the actions you mentioned. So I guess it might be just bad luck.

tonhuisman commented 1 year ago

This can be closed.