Rc522 not working after using 1 meter cable

I wanted use rc522 rfid reader for 2 meter cable distance from arduino to rc522. But increase cable length rc522 not working and show communication error. How to solve this issue please help....
Previously 20 mm short distance cable working ok but after increase cable length not working.
I used below program for rc522 reading

![20240205_212739|690x388]

(upload://s4vCDNIr3ZIhoxfPidhgXJ3EW9N.jpeg)

/*


  • This is a MFRC522 library example; see GitHub - miguelbalboa/rfid: Arduino RFID Library for MFRC522
  • for further details and other examples.
  • NOTE: The library file MFRC522.h has a lot of useful info. Please read it.
  • Released into the public domain.

  • 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.
  • Typical pin layout used:

  •         MFRC522      Arduino       Arduino   Arduino
    
  •         Reader/PCD   Uno           Mega      Nano v3
    
  • Signal Pin Pin Pin Pin

  • RST/Reset RST 9 5 D9
  • SPI SS SDA(SS) 10 53 D10
  • SPI MOSI MOSI 11 / ICSP-4 51 D11
  • SPI MISO MISO 12 / ICSP-1 50 D12
  • SPI SCK SCK 13 / ICSP-3 52 D13
    */

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

#define RST_PIN 9 //
#define SS_PIN 10 //

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

void setup() {
Serial.begin(9600); // Initialize serial communications with the PC
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
uint8_t testPass = mfrc522.digitalSelfTestPass();
if (testPass == 0){
Serial.println("Communication error???");
}
else {
Serial.println();
Serial.print("Software version: ");
Serial.println(testPass);
Serial.println("Scan PICC to see UID, type, and data blocks...");
}

}

void loop() {
// Look for new cards
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));
}strong text

Please follow the advice given in the link below when posting code, in particular the section entitled 'Posting code and common code problems'

Use code tags (the < CODE/ > icon above the compose window) to make it easier to read and copy for examination

https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum

1 Like

Basically the interface to the reader is an SPI one. This is not designed to work at such distances.

The best advice is to use a reader that has an RS232 or Wegand interface.

You might be able to search for an SPI to RS232 converter. Making your own could be tricky.

Thank you so much for replying...
I wanted to use same type rc522 rfid reader. Please help me to how use to spi to rs232 converter what things to be modification in above program.

if you look on EBAY there are SPI to RS232 modules

otherwise you could connect the RC522 to a local nano and send the result over serial to the host microcontroller
serial TTL should work over 2 meters using shielded cable otherwise use RS232?

1 Like

Conductors over about 10"/25cm can get you into trouble with digital signals unless an appropriate driver and receiver is used. A simple solution is to use 4 CAN drivers and 4 Receivers, they are inexpensive. This will work as the for spi lines do not work bidirectionally. They also make differential line drivers that you can use. Hint: Do not expect logic signals to survive that distance.

When I worked in the Access Control industry, our readers used a simple TTL like protocol but only pulled up to 12V. The range was about half a kilometre.

thank you all for replying now i switchover to pn 532 reader. its works fine in long distance cable.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.