Xbee Pro to read Active RFID

Hi everyone!!

I need help in my last project in university.

I’m given an active RFID tag. the tag uses 802.15.4 protocol. It’s said in its website here


I’m also given Xbee pro (Product Type: XBP24-AWI-001) and mbed NXP LPC1768 to make the RFID tag reader. Can you please help to do this project?

I have already made two xbees talking each other in API MODE. this is the result.

but, when i tried to read the tag, i couldn’t. what’s wrong?

i was told to use MAC layer of the xbee to capture the data in the tag. but, i don’t know how to use it. I’ve tried ATMM1 and ATMM2 mode on, but still can’t capture any data in the tag.

oh ya, this is my code in the mbed

#include "mbed.h"

Serial xbee1(p9, p10); /*Creates a variable for serial comunication through pin 9 and 10*/

DigitalOut rst1(p11); //Digital reset for the XBee, 200ns for reset

DigitalOut myled(LED3);//Create variable for Led 3 on the mbed
DigitalOut myled2(LED4);//Create variable for Led 4 on the mbed

Serial pc(USBTX, USBRX);/*Opens up serial communication through the USB port via the computer*/

int main() {
    rst1 = 0; //Set reset pin to 0
    myled = 0;//Set LED3 to 0
    myled2= 0;//Set LED4 to 0
    wait_ms(1);//Wait at least one millisecond
    rst1 = 1;//Set reset pin to 1
    wait_ms(1);//Wait another millisecond

    while (1) {//Neverending Loop
        if (pc.readable()) {//Checking for serial comminication
            myled = 0; //Turn Led 3 Off
            pc.putc(xbee1.getc()); /*pc write whatever the xbee is receiving*/
            myled = 1; //Turn Led 3 on for succcessfull communication

thank you for your kind help and attention.

Most Active RFID tag-readers just dump (send) any tag data they see.

Is the RFID reader broadcasting tags?

If not, you will need to configure that device with the destination MAC of the XBee you want to see the message from.

Maybe you misinterpret my case… I need to make the xbee to read, not to send any data… I want to read the data from Active RFID tag I bought which uses 802.15.4 as the xbee pro. but, i don’t know what’s wrong with my code nor the settings of the xbee. It doesn’t read any data sent by the tag.

May I ask a gentle question?

Is your supervisor aware that you’re asking other people to do your final year project for you?

One problem might be that the RFID is using more than 802.15.4 - I see a mention of Zigbee, which means the Xbee S1 might not work with it.

The problem with 802.15.4 is that is a sibling (sister/brother) of IEEE 802.3, meaning Ethernet. Yet a device supporting IEEE 802.3 + Novell cannot talk directly to another IEEE 802.3 + IP device.

The same is true of 802.15.4 - make sure the sensor doesn’t impliment a protocol on top of the 802.15.4.

Assuming it doesn’t, then you will need to understand the protocol of the RFID tag reader. You will need to ask the RFID reader the correct question to obtain the answer.

Now you shoudl probably also look into node-discovery, confirm that the RFID reader is associating with the XBee. That would be your first step. I assume the XBee on the PC should be the Coordinator (so CE=1) and hopefully the RFID tag reader will join to it.

You may want to send an email to the Japanese supplier, ask if they have and experience or advice on talking with a Digi Xbee. They may have an app note (& in general, saying you are student doing a project hurts you more than helps you when dealing with companies).


Haha… yes of course, bro! He fully aware that I ask you guys in this forum for my project. Not because I’m lazy, but rather because i’m quite new in RFID and also xbee matter. He understands it.

Yes I asked the supplier and yes they do hurt me… they didn’t help me much about how to set up their RFID tag… this is their email

“our RFID uses our original protocol and run on IEEE 802.15.4. Also it passes Japanese Radio Act. It is not Zigbee, therefore it doesn’t have channel and PAN ID.”

So, what can I do from here? can I still work with my xbee pro? thank you…

Thanks re your supervisor - I’m reassured!

As someone who’s supervised many student projects (yeah, how did you guess?), I think this one sounds like a very poor prospect. You’ve got an RFID tag, you have no information on how it works, and the unhelpful manufacturer uses the phrase “original protocol”, which I take to mean “the way it works is our commercial secret and you’re not going to find out”.

The other bit that concerns me is their phrase “doesn’t have channel and PAN ID”. The 802.15.4 XBees most definitely do have channel and PAN ID parameters, so this suggests that we’re looking at two incompatible implementations, that just happen to be built on the same underlying 802.15.4 protocol. (If lynnl contradicts me, listen to her. She’s the expert.)

Perhaps you’ve been unlucky in your choice of tag. If there are others available that use 802.15.4 protocol in a documented way, then maybe switch to one of those. Unfortunately I know next to nothing about RFID so I can’t offer any helpful suggestions.

My overall worry is that because of commercial secrecy you may be attempting an impossible project.

If I were in your shoes I think I would be seeking an urgent meeting with my supervisor, to get the terms of the project changed to something that is known to be possible. Hitting a barrier of commercial secrecy does not lead to a good write-up. And you don’t have enough time in a final year project to explore what seems likely to be a blind alley.

I don’t want to give up, yet.

It’s said in the tag’s manual that it is 802.15.4 based and has 16 channels in ISM bands. range from 0-15.
it has also Application ID (which only the same application ID can only communicate). range from 0 - FFH.
It has also Group ID (which allocating an ID to each group and used to make a broadcast to the group). also range from 0-FFH.
It has also Pair ID range from 0-FFFFFH (which if it’s set FFFFFH means it will broadcast the data to any group or any ID).

I’ve already made the setting of the xbee as follow:

ATMM = 1 (MAC mode)
ATBD = 3 (standard baudrate)
ATAP = 0 (transparent mode)
ATCH = E (Channel Eh or 14 in decimal)
ATCE = 0 (peer-to-peer setting)
ATA1 = 0 (peer-to-peer setting)

and I set the RFID tag as follow:
Application ID: E
Group ID: E
Pair ID: FFFFF (broadcast)
Channel: 14

I ran X-CTU, I tested/queried the modem in standard parameter (9600,8,none,1) and it was working. I opened the terminal tab and push the button of the tag to transmit data, but I didn’t get anything.

I also open the HyperTerminal from windows and with the program i wrote above I want to read any character sent by the tag. But, I still couldn’t the result.

Is there something wrong? Where and how can I read the data? Do I need to program in the micro to send commands through the xbee to the tag to command it transmit data? or is there something wrong with my setting?

thank you

Well, obviously something’s wrong. I can’t tell what from the information you’ve given, though.

At the moment you’re the one with the manual, which means you have a lot more information than the rest of us. Is the manual available online?

I opened the original reader of the tag and I see them use MC13213 from Freescale Semiconductor as the tag’s transceiver.

Is there anything I could do to make my xbee pro works like the MC13213?

thank you.

I hope someone else know the answer to that one…