Due I2C interface to Elechouse PN532 NFC module

I struggled for days to get my Arduino Due communicating over I2C with an Elechouse PN532 NFC module I bought on eBay (it appeas I am not alone!). The software downloaded from Elechouse may work fine with an Uno, but not with my Due, the software wouldn't even compile with latest Arduino IDE 1.6.4, due to some avr/io.h library missing.

Having searched this forum and google for a solution without luck, I finally figured out how to use the Adafruit_PN532 software, supplied for their PN532 break-out module, for my Elechouse module.

My hardware connections are the following:

Elechouse PN532 pin Arduino Due pin

VCC <---> 3.3V
GND <---> GND
SDA <---> SDA (20) (has pull up resistor on board)
SCL <---> SCL (21) (has pull up resistor on board)
IRQ <---> Digital pin 2

The Adafruit software is designed for a hardware configuration where the Due SCL1 & SDA1 pins are used for communicating with their break-out module. I did not want to use SCL1 & SDA1 as they don't have pull-ups on the Due board.

To make it work for my hardware configuration all I needed to do was to change the Wire1 declaration in the Adafruit_PN532.cpp back to Wire, and to configure the readMifare Arduino program example I used for testing (also supplied in the Adafruit library) for I2C, following the instructions in the readMifare headings. Then I2C communication worked perfectly for my hardware, and I could read and write to a card!

I still haven't figured out why the IRQ connection is required - but it is if you want to use the Adafruit software as it is. Without the IRQ connected my Elechouse PN532 module simply won't be recognised. It should definitely be possible to run a two wire I2C link between two devices without having to use IRQ. If any of your guys have a solution to this I would like to learn about it.

Check here for any description for the IRQ pin: http://www.adafruit.com/datasheets/PN532C106_Application%20Note_v1.2.pdf
Their code should reveal how they're using it.

Thanks, I will study that