MFRC522 - I2C

Hello, I am having trouble getting the MFRC522 chip to work over I2C.

The board comes with example Arduino code that I am trying to get to work. I will be eventually porting everything to a PIC32 to be integrated into a larger existing system but was having so much trouble getting the board to work with the PIC32 that I moved back to an Arduino to test their example code and it unfortunately does not work.

I have a logic analyzer and I can verify that the I2C bytes are being sent out correctly. I get the MFRC522 Version code fine. The data sheet states 0x91 means the software running on the board is version 1.0.

Most people seem to use this chip with its SPI interface. I have attempted to convert the read and write functions in the SPI based library on the Arduino website to work with I2C instead, everything looks ok on my logic analyzer but the system still fails to read the UID off the RFID card.

The code provided by SainSmart is in a zipfile at this link. SainSmart Mifare RC522 Card Read Antenna RF RFID Reader IC Card Proximity Module – SainSmart.com

It appears when the system is in a loop waiting for the interrupt register to read at least 0x30 (those bits must be 1), the system keeps reading back 0x44 which basically means the board has finished transmitting to the RFID card but has not received any bytes back.

Any help would be appreciated, I have spent days on this.

Ok, it seems the reader and software are both fine. Something is wrong with the cards the company sent me. The reader and my phone won't read the cards they gave me but the reader will read my transit card and Visa.

Any ideas?

The code in the link does not have any comments. Where can I get the pin details? What is MF522_EA pin? Where should I connect in MFRC522 board? Also do we need 4.7K pull up for I2C? What about the address of the module in I2C? How to change it if needed?

Hi .

Do you have any idea about ultra high frequency RFID reader . that can detect 900 MHz RFID card.