Introduction: Weather Proof, Bluetooth Capable RFID Reader

This instructable connects the popular BlueSmirf Bluetooth module to the ID12 RFID reader and shows how to make a dust and water resistant (IP55) RFID reader that sends IDs to your PC or mobile phone over Bluetooth radio without an additional micro controller and without an external power source. Created as a prototype for an online swim lap counter system named Rfish, it can be used for any project in need of a self contained, weather proof RFID reader.



Material

Tools

  • Cutter
  • Soldering iron
  • Helping hands

Step 1: Solder Headers to the BlueSmirf Bluetooth Module

Step 2: Configure the BlueSmirf Module Via USB

Connect the BlueSmirf to the USB to serial adapter as follows (you might use headers to connect female jumper cables to the female connector of the USB to serial adapter):

  • VCC to 3.3V
  • GND to GND
  • TX-O to RX-I
  • RX-I to TX-O

Then plug the USB into your PC (the following instructions apply to Windows XP and might differ for other operating systems). The red LED on the BlueSmirf should now blink.

Press "-R" on your keyboard to open the "Run" command line, type "devmgmt.msc" and press "". This opens the Device Manager. Open the node "Ports (COM & LPT)" in the device tree. There should be a node called "USB Serial Port (COM)" e.g. COM17. Write down the COM port number (to talk to the BlueSmirf module over USB we will open a connection to this COM port).

Download SerialUsbBlueSmirfConfig.zip (requires .NET 2.0; source included for educational purpose) and unzip it.

Edit SerialUsbBlueSmirfConfig.bat (right click, "Edit") to match your COM port number and baud rate (default for BlueSmirf Gold is 115200 baud) and save the changes.

Start SerialUsbBlueSmirfConfig.bat and as soon as the program displays your COM port in the command shell, type the following commands (BlueSmirf's response shown in italic):

  • $$$
  • CMD
  • SU,96
  • AOK
  • ---
  • END

When in command mode, the BlueSmirf's red LED starts to flash faster. After leaving command mode, the BlueSmirf Bluetooth module is set to 9600 baud which is necessary to communicate with the ID12 RFID reader.

(Note: If you want to use SerialUsbBlueSmirfConfig.bat again don't forget to change it to 9600.)

Step 3: Solder Headers to the ID12 Breakout Board

Step 4: Solder the RFID Reader to the ID12 Breakout Board

Step 5: Hard-wire the ID12 Reader to ASCII Mode

Solder the two short wires as follows:

  • Red wire from 5V (11) to /RST (2)
  • Black wire from FS (7) to GND (1)

Step 6: Connect the BlueSmirf to the ID12 Reader and 3 1.5V AA Batteries

Connect the BlueSmirf to the ID12 reader as follows:

  • VCC to 5V (11)
  • GND to GND (1)
  • RX-I to D0 (9)

Then connect the ID12 to the batteries:

  • 5V (11) to + (Plus)
  • GND (1) to - (Minus)

If you use solder to create a durable connection it might be better to unplug the jumper cable before soldering. Also, the jumper cable's plastic cover melts really quick so take care not to heat it too long.

Once you got the connections ready, attach 3 1.5V AA batteries (equals 4.5V) and make shure the BlueSmirf starts to flash its red LED.

Note: While the BlueSmirf is marked as 3.3V it does work pretty well with 4.5V. The ID12 which is laid out for 5V also functions with 4.5V (maybe with a slightly lower range).

Put everything into the box and try to close it tightly without squeezing any cables. For the following test (next step) you might want to open the box again to be sure the BlueSmirf LED works as supposed.

Step 7: Test the Reader With a PC

To test the reader you need a PC with Bluetooth and a test program.

Download Serial.zip (requires .NET 2.0; source included for educational purpose) and unzip it.

Pair your PC with the BlueSmirf:

  • Enable Bluetooth on your PC
  • Disconnect and then reconnect the BlueSmirf to the batteries (inquiry only works right after module startup)
  • Start Bluetooth inquiry on your PC
  • Select the device called "FireFly ..."
  • Enter the PIN 1234
  • Choose "Serial Profile" or SPP or similar, without (!) encryption
  • Write down the COM port number of the serial Bluetooth connection on your PC

Edit Serial.bat (right click, "Edit") to match your COM port number and baud rate (must be 9600 baud) and save the changes.

Start Serial.bat and wait for the BlueSmirf's LED to turn green. This does only work if you connect to the right Bluetooth serial COM port (not the same COM port as in step 2).

Once the LED is green you can start scanning RFIDs. Hold the RFID tag very close to the front of the reader (i.e. the top of the case) and you should see the read IDs being displayed on the PCs console shell, maybe with some additional characters.

Congrats - you're done.

(Note: if you see questionmarks instead make shure your batteries are fully loaded and check the wiring in step 5.)

Comments

author
Bubacar made it! (author)2016-06-29

Hi Tamberg, i get an error when i execute SerialUsbBlueSmirfConfig.bat
configering the Bluesmirf was no problem, can you give me some advice please.
kind regards
Bob

reader2.jpgerror-i-o.jpg
author
tamberg (author)Bubacar2016-06-29

The error text font is too small to read, sorry.

author
Bubacar (author)tamberg2016-06-30

I hope you can read this?

error-i-o-2.jpg
author
tamberg (author)Bubacar2016-06-30

Looks like the COM5 port is taken. Try changing the source and / or use the devmgmt.msc command line tool to assign another port.

author
Bubacar (author)2016-06-01

Hello, i would like to buy 1 premade.
Can you do this?
I like to use it in my swimlesson project
www.tabletevents.nl
Bob
The Netherlands

author
tamberg (author)Bubacar2016-06-01

Hi Bubacar, thanks for the link. Your product looks very nice and kid-friendly! I don't sell the reader right now, sorry.

author
Mark PhilipL (author)2016-03-01

One more question (for the time being): Can I use 1.5v button cells to make this work? Obviously it won't have the life of the AAs but would it work at all? And I don't suppose you know if there's a battery case designed for three 1.5v button cells?

author
tamberg (author)Mark PhilipL2016-03-01

Not sure. Google Bluetooth Low Energy or BLE for something using less energy. There are probably also low power RFID readers, e.g. the one used by Poken.com (a toy to swap contacts, at least they used to do that).

author
Mark PhilipL (author)2016-02-29

Some of the software links appear to be dead. Where can I obtain the software needed for this?

author
tamberg (author)Mark PhilipL2016-02-29

Should be fixed now. Thanks for letting me know.

author
Mark PhilipL (author)tamberg2016-02-29

This link still appears dead: http://rfish.net/download/SerialUsbBlueSmirfConfig.zip

author
tamberg (author)Mark PhilipL2016-02-29

Maybe a caching issue. Just add www. in front of rfish.net

author
Mark PhilipL (author)2016-02-22

Is there a program that would allow this to make the phone vibrate when different RFIDs were present? So you could have RFIDs numbered and each one would cause a series of vibrations?

author
tamberg (author)Mark PhilipL2016-02-22

You could use this Android API to vibrate in a pattern: https://developer.android.com/reference/android/os/Vibrator.html

author
AkashM9 (author)2015-08-29

Great article still I wanted to know can we use any other bluetooth module instead of bluesmirf gold bluetooth module

author
tamberg (author)AkashM92015-08-30

Sure, you can use any other Bluetooth module that provides the Serial Protocol. Cheers, Thomas

author
lekirst (author)2015-02-11

hello,

SerialUsbBlueSmirfConfig.zip

and

Serial.zip

are not working. any help?

author
tamberg (author)lekirst2015-02-11

Hi, what exactly did you try and what's error message?

author
lekirst (author)tamberg2015-02-12

rfish.net website seems to be down..

This domain name has been registered with Gandi.net

It is currently being parked by the owner

author
tamberg (author)lekirst2015-02-12

Thanks. Will have a look.

author
lekirst (author)tamberg2015-02-13

okay great, hope you can get the downloads working again.

author
lekirst (author)lekirst2015-02-19

the links are still not working. :(

author
tamberg (author)lekirst2015-03-02

Sorry for the long wait. Should be fixed now. Cheers, Thomas

author
tamberg (author)lekirst2015-02-20

Thanks for letting me know. Got to fix my domain / hosting. Will take some days, sorry.

author
shruti.kamtekar (author)2014-12-17

hi Tamberg,

i would like to read the rfid tag and send the tag id via bluetooth to an android phone. this tutorial does not teach how to connect it to phone.also how to configure the rfid reader and bluetooth module.

author
tamberg (author)shruti.kamtekar2014-12-17

Hi, the Bluetooth module in this project just forwards whatever the RFID reader module sends to it. Simply connect to the Bluetooth module using the Bluetooth serial profile (SPP). The standard Android Bluetooth library should do the job. Cheers, Thomas

author
shruti.kamtekar (author)tamberg2014-12-18

hi,

I should connect the RFID ID12
and the BLUESMIRF gold Bluetooth module to the ID12 breakout board ad
shown in the tutorial. For configuration part i need to connect the
bluetooth module to the android phone using bluetooth serial profile and
the configuration would be done.

author
tamberg (author)shruti.kamtekar2014-12-18

Yes. There's not much to configure with SPP, as far as I remember.

author
shruti.kamtekar (author)tamberg2014-12-18

HI,

I have to actually read RFID tag number of every student who boards the bus which has a RFID reader and send their parents message about the child boarding the bus.i am planning to send the tag number to the phone.

is there a cheaper RFID and bluetooth module i could use.

and can you please give the detail about SPP since i have no idea about it.

author
tamberg (author)shruti.kamtekar2014-12-18

Sounds like a great project. In the meantime there are some cheaper RFID readers and way cheaper Bluetooth modules. If price is critical, check something like Ali-Express.

author
shruti.kamtekar (author)tamberg2014-12-19

can i configure and connect other rfid and bluetooth module in the similar way

author
tamberg (author)shruti.kamtekar2014-12-19

Yes. All serial modules work more or less the same.

author
shruti.kamtekar (author)tamberg2014-12-19

can u provide me with more detailed information on bluetooth serial profile or any source from where i can understand it.

author
tamberg (author)shruti.kamtekar2014-12-19

Just remembered they also call it RFCOMM. See https://en.wikipedia.org/wiki/List_of_Bluetooth_protocols#RFCOMM and for Android https://developer.android.com/reference/android/bluetooth/BluetoothSocket.html

author
tamberg (author)tamberg2014-12-19

Oops, here's a shortened version of the Android link: http://goo.gl/Wlq1yI

author
Iamumeshsingh (author)2014-12-06

I loved this article and its step by step tutorial about making water proof RFID tag. I would like to make this <a href="http://trakaid.com/wp-content/uploads/2014/01/tk2013-03-dc-on-metal-rfid-asset-tag.pdf">TRAKAID On-Metal RFID Asset Tag</a>..

author
skeet103 (author)2014-06-02

great little tutorial, curious if you ever tried this with a 125khz ACTIVE rfid tag?

Curious what kind of increased rage it would have....if you know, I'd appreciate the info

author
tamberg (author)skeet1032014-06-02

Hi Skeet103, never had access to an active 125khz tag. Nice idea, though. Cheers, tamberg

author
fsaffery (author)2013-06-12

Oh I have a number of ID20 and ID12 chips floating about my office each with pins 7 and 1 connected (setting to ASCII). The Bluesmirf is set to 9600 Baud.

Thanks, F.

author
tamberg (author)fsaffery2013-06-12

All I know about the ID12 is what's written here. Maybe your BlueSmirf has some settings that cause the problem, as it was probably not in the default state. Try to go through the setup steps of this Instructable, maybe with another baud rate. And check the baud rate in your code, too.

author
fsaffery (author)2013-06-12

Hey there I know its been a while since you made this project but quick question. When I connect to a PC and scan a card im getting "☺☻♥♣4F" random characters as its trying to show ASCII of data thats just not there. Now I checked the .cs file and I couldnt see that you were changing the bits into any form of data, just writeln them.

- The chip is set to ASCII mode.
- The reason I ask is I have coded something for android which does output characters but not the unique card ID normally just 002000000 or the like so im trying to find if its my code thats not correct or if its something to do with my circuit. (Had some problems way back when I connected the chip via a wire to the phone with power and it not sending the data correctly).


Thanks, F.

author
tamberg (author)fsaffery2013-06-12

Hi, which chip are you referring to? Maybe the baud rate is not set correctly?

author
nadjibfoley (author)2013-03-08

Hi, I know this is an old pot but just wondering if you can remember roughly how much this cost, and the distance that it would work at asI know most RDIF systems are quite short in terms of reading distance.

author
tamberg (author)nadjibfoley2013-03-08

Hi, the parts are all linked on the first page. There are cheaper Bluetooth modules on Ebay, around 10$ if I remember correctly. The reading distance is very short (you have to touch the reader) which indeed is quite a disadvantage for most applications. Regards,
Thomas

author
punisherball54 (author)2012-07-02

Greeting, Just FYI, I tried to download your SerialUSBbluesmirf.zip and it turned out like this

403 Forbidden

Code: AccessDenied
Message: Access Denied
RequestId: 4AB03E36B05CC9D4
HostId: NrN3vGkopox3PnzYj8nNCefc2JJsDFAStAOS1hnyi2StP+4hlPj19AvQdTs0yzSf

author
tamberg (author)punisherball542012-07-02

Fixed! Thank you very much. Regards, tamberg

author
itismycountry (author)2012-06-05

Hello, i would like to buy 1 premade.
Can you do this?
How much cost and ship to Florida, USA.

Thank you

author
tamberg (author)itismycountry2012-06-05

Hi, thanks for the request! I sent you a private message.

author
LIMAMIN (author)2012-01-05

Hi,
Is it possible to do the same thing with a wifi module instead of Bluetooth?
Thanks.

author
tamberg (author)LIMAMIN2012-01-05

LIMAMIN, that could work. There should be Wifi modules supporting serial communication (UART). However the setup would probably be different and the system might require more power. Also, I'm not sure if there's any interference between RFID and Wifi, but probably not. Cheers, tamberg

About This Instructable

66,664views

148favorites

License:

More by tamberg:Voodoo Sonic LoRaWAN-connected dollIoT Gauge with Arduino, Yaler & IFTTTLog Arduino output for days with a BeagleBone
Add instructable to: