NFC Arduino Android Project
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

NFC Arduino Android Project

by utdnfcid2013 on Thu Mar 28, 2013 7:55 pm

Hello all,

I am in desperate need of assistance. Me and a group for school are working on a project to replace our current school ID with NFC ID's and NFC capable phones. There are a few questions I have. My current setup that we are starting with is the Arduino UNO R3, Arduino Ethernet shield, and the PN532 RFID/NFC Shield. Our vision for this project is to have data written to a card (a mifare 1k card at the moment), their ID number and such. There are two functions for our ID's, to open doors and to pull up information on a desktop computer. With the phones, we want the same thing, to open doors and pull up information. Using the NFC shield and ethernet shield we want the NFC shield to read the phone or ID card and send the information through the ethernet shield to a database to check for either a) granted access to open the door and b) gather the information and display it on a desktop application that we are starting to make. It's really hard to put my entire project into words for this forum but that's the basics of it. The three major components will be a desktop application, a database, and the nfc reader.

So we just received everything and put it together but I'm already having trouble with writing to the mifare card. I ran the formatndef for the I2C library and first wrote adrafruit.com to the card. It worked. Once I wanted to rewrite to it, it would act like it worked but it would still have the same tag that I originally wrote, which was adrafruit.com. I went into the program and changed this part

Code: Select all | TOGGLE FULL SIZE
// For a http://www. url:

const char * url = "google.com";

uint8_t ndefprefix = NDEF_URIPREFIX_HTTP_WWWDOT;

But it would still pull up adrafruit.com, even though the program ran and said that it wrote to the mifare card after changing it to google.com. Are we only allowed to write once to the card? I don't understand why that's happening. I use the memdump, and see that Sector 1 has stuff written into it which my research told me is for access, and Sector 2 is for the link information, and there is where it still displays adrafruit.com. The program formatndef displays that it supposedly wrote google.com correctly by saying:
Seems to be a Mifare Classic card (4 byte UID)
Card has been formatted for NDEF data using MAD1
Writing URI to sector 1 as an NDEF Message
NDEF URI Record written to sector 1


Another question I had is that I saw on the youtube video that an adrafruit employee said that it was able to communicate with a Galaxy Nexus. I know there is no code examples for that but I was wondering what kind of communication there would be between the phone and the board. What I wanted it to do is to read information from the galaxy nexus, possibly it's unique ID or if we have to an ID that we write to it using the board. Is this even possible or am I reaching for the moon with this?

Those are my two starting questions, any and all help will be appreciated.
Posts: 2
Joined: Thu Mar 28, 2013 7:14 pm

Re: NFC Arduino Android Project

by adafruit_support_bill on Fri Mar 29, 2013 6:08 am

The current library has limited support for NDEF. Writing a full NDEF stack for the Andriod is a large task.
Many of your questions are addressed here: http://learn.adafruit.com/adafruit-pn532-rfid-nfc/faq and here: http://learn.adafruit.com/adafruit-pn532-rfid-nfc/ndef

Also see this thread: viewtopic.php?f=31&t=33836&p=174406

Posts: 51939
Joined: Sat Feb 07, 2009 10:11 am

Re: NFC Arduino Android Project

by utdnfcid2013 on Wed Apr 03, 2013 3:28 pm

Thank you for the reply! I will be looking at the information you provided!
Posts: 2
Joined: Thu Mar 28, 2013 7:14 pm

Please be positive and constructive with your questions and comments.