Understanding NFC hardware

Hello there, I am new on this forum and I am here to get some help on choosing NFC hardware.

My project is something like this: an Arduino device will record on an SD card some NFC tag with a timestamp, then will "download" them on another Arduino device via NFC. This second Arduino device will be connected to a PC, that will collect everything is on the SD card of ther first Arduino.

Now... hoping that this project make sense (does it??)... I would like to understend differences between some NFC shields... can you help me?

http://dangerousprototypes.com/2012/09/02/new-arduino-library-for-nfc-shield-released/

http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=90_93&products_id=2205

They seems the same to me, but of course they are not... prices and dimensions are very different... I need the smallest possible ...

Thank you in advance!!!

I'm curious about why you want to transfer the data logged in the first Arduino to another Arduino via NFC

Why not either take the SD card out of the first Arduino and put it into the PC, or if the device needs to me sealed, etc, why not use Bluetooth or wifi to transmit directly from the first Arduino to the PC.

This would save the need for a second Arduino and be less programming,

Bluetooth modules are very very small and you could design some hardware so that the Bluetooth module wasn't even powered on until required.

It would also help greatly if you told us what your are building and why, as you may be making other design issues that you are not aware of, e.g. Power requirements, etc

Or is this a commercially secret project

It is still not a secret commercial project :wink: , but simply there is nothing much more to explain.
I need to record some tags in a SD card with a timestamp, then this device must download data to a PC, wireless and quickly (1-2 seconds, bluetooth needs pairing, doesn't it?) so I've thought to use another arduino+NFC, but others ideas are welcome.

Power requirements are not an issue at the moment.

So what about NFC shields?

Thank you again

device must download data to a PC, wireless and quickly (1-2 seconds

Ah.
You didn't mention that the transfer must be fast.

You've also not stated how much data will be collected before its downloaded. e.g is this a 1 or 2k or are you recoding a lot of data before its downloaded.

This is an important omission in what you have posted because 2 of the 3 NFC modules you linked to, transfer via Serial data, which will not be fast.

The only NFC you linked to that isn't Serial is the AdaFruit one.

The SD implementation on the Arduino isnt that fast either, so this is potentially a speed issue, and as you've not quanitied how much data will need to be transferred in "1-2 seconds", its really hard to know whether you'd need to use another form of storage.

Also, as the Second Arduino in your proposed system would need to be connected to the PC via Serial (i.e its slow) you may need to have an SD card on the Second Arduino to buffer the data before its sent to the PC.

I know you feel that you have supplied all the data necessary for anyone to give you an informed opinion, but as you can see you have not really told us the full story

Ok Roger, you're right, I'm sorry for not saying everything, it's just because I am starting to think about this solution and my biggest issue now is to understand differences among different NFC shields.

Anyway, I will try to explain better:
I need a device that will collect NFC tags (from 10 up to 40, not more) with a timestamp and store them (do you think that storing just a tag + timestamp would take too much time on a SD card? What do you suggest for storing?).
After collecting tags, this device must download them to a PC (or to another Arduino with a buffer SD card as you suggested, if the transfer Arduino - PC is too slow), as fastest as possible, wireless.
The amount of data to be downloaded to a PC is not very much as you see, so my solution is to use another NFC.
Bluetooth or wifi would be good, but there is the pairing procedure for bluetooth (or the logging procedure for wifi) that makes it slower than an NFC (this is my opinion, I've never used NFC before).

I hope you have all informations needed now, sorry for not being clear before.

Thank you again.

Not sure if you need to use SD, unless you need to store when the Arduino doesn't have power

If the NFC tag length isn't too long, 40 tags may fit in RAM.
How long is the tag data

Re time stamp

Arduino only knows time relative to when it was powered, and is my super accurate. You probably need to use an external Rtc module.

Re Bluetooth

You should be able to use auto connect , auto paring, but you'd need to confirm the PC side of this.

But if Bluetooth is no good, you are right, wifi may also take too long to negotiate its network connection, as this can take a few seconds.

So using another NFC may be our best option.

But you may like to look at the Nordic semi. 2.4ghz radio modules, sorry I can't remember the part number, I think it starts with nrf24.
These are quite quick and have much longer range than NFC , and there are some good library's to use them

Mifare come in flavours of 1 to 10k

1k is more than enough to fit a timestamp, getting the right chip is essential to read the tags...

Since nfc comes in lots of specifications (frequency, memory,) using nxp's chipset and mifare is a good choice as they're read with Android nfc enabled devices!

So...

Storing data:
Maybe tags can be stored in ram yes, but It's too risky, as the device can be turned off accidentally. So have you got others solutions different from RAM and SD Card?

Transmitting data:
So you agree that NFC could be the best solution, I don't need a bigger range, 1-5 cm is ok.

RTC
Yes, I am aware of needing a RTC

@cjdelphi
Can you please explain me the difference between NFC and MIFARE? Or give me some links to read more about it? I don't know what NXP is...

And the final question: what do you suggest I should buy among the NFC shields that I've posted before (or if you have your preferred one...)

Thanks again...

I presumed you already had the NFC tag cards.

But it now sounds like you are building a system from scratch and not reading existing I tags.

In which case, why are you using NFC ?

You could use RFID tags, or those coin style id tags that use OneWire comms.

Is there a reason you are specifically using NFC I.e do you need to store data in the NFC, or do you merely need each one to have a unique code?

I am a bit curious why you wish to do this.
Acsess control systems normally use the uid of the tag which is fairly easy to read.
Using nfc or other to read the data on a tag is more complex.
I would suggest you concentrate on reading the tags first before considering the rest of your "system".

Its easy to read the uid with a reader.
Reading data requires a read/writer as to read data off a card the card has to be addressed so a writer enabled chip has to be used.
As a start look at the specs for a pn 532 read /write chip and a pn 522 reader chip.
There is a 5 to 1 difference in price between the reader card prices aprox for these.
Reqding data from a card is more complex than just reading the uid.

Just to clarify, the 522 is capablle of read and write, however library support is very poor compared to the 523.

Most arduino shields use the pn 523 which has a much better library.

If you use a cheap 522 board claiming to be arduino compatible, best you will do is read the uid.
Unless you understand the NXP technical docs and are a good programmer , expect a long learning curve.