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.



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