Go Down

Topic: RDM 880 RFID reader connection problem (Read 5403 times) previous topic - next topic

workname

Jul 07, 2010, 01:04 am Last Edit: Jul 07, 2010, 06:56 am by workname Reason: 1
I'm an arduino beginner and am struggling to connect the RDM880 rfid reader from cool components to arduino

Has anyone else managed this? What pins/code did you use? Do you know of any examples available for this reader? There's plenty available for other readers but I'm struggling with the one I bought

Any thoughts? The data sheet is not helpful ( to me anyway) :)

Thanks

Grumpy_Mike

#1
Jul 07, 2010, 10:10 am Last Edit: Jul 07, 2010, 12:14 pm by Grumpy_Mike Reason: 1
A search of the cool components site did not show any RFID readers with the RDM880 part number can you post a link please.

Quote
The data sheet is not helpful ( to me anyway)

Sometimes this is God's way of telling you that you are not ready for such a project.  ;)

workname

it's listed as RFID Reader - 13.56Mhz
at cool components http://bit.ly/cViamR
the data sheet lists it as RDM880
many thanks for looking and hopefully pointing me in the right direction  :)

Grumpy_Mike

Ok, two things. First off you need an antenna for this, have you got one?

Second it communicates serially. As you are using the arduino's inbuilt serial to communicate back to the computer you need another serial port. This is fine if you have a mega but if not you need to look at the new software serial library to allow you to bit bang a serial port:-
http://arduiniana.org/libraries/newsoftserial/
That data sheet doesn't tell you what commands it will accept but you should get a packet of data back when you present a card. You will find the unique ID in that packed along with some header and check sums.
To find out the protocol to talk to it look for the MFRC500 data sheet.

workname

hi thanks again
yes I have the antenna and yes I have been using newsoftserial
I have been trying to replicate the example here on instructables
http://bit.ly/aFg6Js - code available on step 3
and using digital pin 2 on arduino (duemilanove) to the tx pin on the rdm880
however I am getting no signal at all at present - I had access to another board to rule out a problem with the board too
puzzled and frustrated >:(

Grumpy_Mike

So post a schematic of how you have wired it up.

c0dem4gnetic

Im having the same issue and was wondering if you ever resolved this? I found some instructions for RDM630 (bit.ly/a3SchW) but the pins slightly differ. The 880 has a reset pin on J2, 1 with an unspecified purpose and for this reason I have not yet connected it.

Grumpy_Mike

#7
Jul 13, 2010, 02:01 pm Last Edit: Jul 13, 2010, 02:02 pm by Grumpy_Mike Reason: 1
As I said before:-
So post a schematic of how you have wired it up.

Without that how can you expect any help?

Quote
The 880 has a reset pin on J2, 1 with an unspecified purpose

Read the data sheet.

c0dem4gnetic

#8
Jul 13, 2010, 02:50 pm Last Edit: Jul 13, 2010, 02:52 pm by c0dem4gnetic Reason: 1
Links to my schematic and the RDM880 data sheet

That data sheet doesnt really say that much, but the board says 880SPI-RC500 so im guessing it has the mifare rc500

edit: an antenna is included with RDM880

workname

hi - mike and c0dem4gnetic
yes that's exactly how I have been wiring it  and I have been using the instructables code I linked to earlier all to no avail
I'm very frustrated
has anyone had any experience with the rdm880? should I be looking at a different reader perhaps?
thanks

Grumpy_Mike

The data sheet says that the reader chip is (amongst others) an MFRC531, look at you board and see if it is this type. If it is the data sheet is here:-
http://www.nxp.com/documents/data_sheet/MFRC531.pdf
Or if it is a MFRC500 the data sheet is this:-
http://www.nxp.com/documents/data_sheet/MFRC531.pdf
Things to check:-
The reset line is not shown as going anywhere, trace on your board if it has a pull up resistor fitted. If not you need to connect it to an arduino output pin, pulse it during setup and leave it high.
You only receive data from this board. Will it output anything without it being initialised?

c0dem4gnetic

What do you mean by "pulse it during setup"?

c0dem4gnetic

I now got the RDM880 working! I found an article by michu of neophob.com where he uses something called a Bus Pirate to communicate with the 880 over a terminal. While the 630 to me seems to work "passivly" the 880 needs commands to operate. Michu connects RESET, but when testing i did not need this (but not yet validated that output is correct, just happy to get something out of it :P). What I did need to do was to connect both RXD and TXD (RX on Arduino goes to TXD on 880 and vice versa), which enabled me to send MF_GET_SNR.

Code: [Select]


byte MF_GET_SNR[8] = {0xAA, 0x00, 0x03, 0x25, 0x26, 0x00, 0x00, 0xBB};

void setup()  
{
 Serial.begin(115200);

 // No longer using NewSoftSerial but instead an Arduino Mega
 Serial1.begin(9600);

 Serial.println("setup() ends");
}

void loop()
{
 Serial1.write(MF_GET_SNR, 8);
 delay(50);
 
 while(Serial1.available() > 0) {
   Serial.print(Serial1.read(), HEX);
   Serial.print(" ");
 }
   
 Serial.println("--");
}


Sample output
Code: [Select]


setup() ends
AA 0 2 1 83 80 BB --
AA 0 2 1 83 80 BB --
... card goes near antenna
AA 0 6 0 0 43 A7 6E 67 EB BB --
AA 0 6 0 0 43 A7 6E 67 EB BB --
... card removed
AA 0 2 1 83 80 BB --
...

Go Up