Introduction: Weather Proof, Bluetooth Capable RFID Reader

Picture of 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.



  • Cutter
  • Soldering iron
  • Helping hands

Step 1: Solder Headers to the BlueSmirf Bluetooth Module

Picture of Solder Headers to the BlueSmirf Bluetooth Module

Step 2: Configure the BlueSmirf Module Via USB

Picture of 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 (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

Picture of Solder Headers to the ID12 Breakout Board

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

Picture of Solder the RFID Reader to the ID12 Breakout Board

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

Picture of 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

Picture of 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

Picture of Test the Reader With a PC

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

Download (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.)


jose.bordon.798 (author)2017-09-30

Great project man! I have a question, what readind range would it have if you were to use it without the case?

tamberg (author)jose.bordon.7982017-09-30

Not much better, I fear. This RFID module is very short range.

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

tamberg (author)Bubacar2016-06-29

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

Bubacar (author)tamberg2016-06-30

I hope you can read this?

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.

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
The Netherlands

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.

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?

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 (a toy to swap contacts, at least they used to do that).

Mark PhilipL (author)2016-02-29

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

tamberg (author)Mark PhilipL2016-02-29

Should be fixed now. Thanks for letting me know.

Mark PhilipL (author)tamberg2016-02-29

This link still appears dead:

tamberg (author)Mark PhilipL2016-02-29

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

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?

tamberg (author)Mark PhilipL2016-02-22

You could use this Android API to vibrate in a pattern:

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

tamberg (author)AkashM92015-08-30

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

lekirst (author)2015-02-11



are not working. any help?

tamberg (author)lekirst2015-02-11

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

lekirst (author)tamberg2015-02-12 website seems to be down..

This domain name has been registered with

It is currently being parked by the owner

tamberg (author)lekirst2015-02-12

Thanks. Will have a look.

lekirst (author)tamberg2015-02-13

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

lekirst (author)lekirst2015-02-19

the links are still not working. :(

tamberg (author)lekirst2015-03-02

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

tamberg (author)lekirst2015-02-20

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

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.

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

shruti.kamtekar (author)tamberg2014-12-18


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.

tamberg (author)shruti.kamtekar2014-12-18

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

shruti.kamtekar (author)tamberg2014-12-18


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.

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.

shruti.kamtekar (author)tamberg2014-12-19

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

tamberg (author)shruti.kamtekar2014-12-19

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

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.

tamberg (author)shruti.kamtekar2014-12-19

Just remembered they also call it RFCOMM. See and for Android

tamberg (author)tamberg2014-12-19

Oops, here's a shortened version of the Android link:

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="">TRAKAID On-Metal RFID Asset Tag</a>..

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

tamberg (author)skeet1032014-06-02

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

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.

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.

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.

tamberg (author)fsaffery2013-06-12

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

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.

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,

punisherball54 (author)2012-07-02

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

403 Forbidden

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

tamberg (author)punisherball542012-07-02

Fixed! Thank you very much. Regards, tamberg

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

tamberg (author)itismycountry2012-06-05

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

About This Instructable




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