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.