Research: RFID, XBee, Arduino and Electric Strike Locks

Posted on July 3, 2011


This post briefly goes into a solution I am investigating to create RFID based door openers. The idea is to have a series of doors, each openable using an RFID card paired to that specific lock / reader / door / unit.

Wireless RFID card readers

Looking for a simple way to create a series RFID readers which are able to operate wirelessly, I came upon the following post by Josh Tananbaum / the GeekMovement .

It describes the creation of a RFID reader “TUNE glove” and uses 3 main components:

  1. The Innovations ID2 RFID reader
  2. An Arduino board
  3. An XBee module

I bluntly copied the RFID part of “parts needed” from the GeekMovement post here.

Parts Needed:

The ID12 is a short range RFID reader that sends the ID on theRFID  card in a serial stream through pin 9 to any device including the Arduino board in the TUNE Glove.

In that solution the Arduino board then sends this data to the XBee module, using the NewSoftSerial library.

XBee might be sufficient

What the code for the TUNE Glove seems to do is contstruct the numbers and then pass them from Arduino to XBee.

It is possible that you do not need the Arduino. This post by Lynnlinse seems to suggest (using a different type of RFID reader) that is doable. As the ID12 sends serial data in a specific Baud-rate, the XBee can be used to simply broadcast that wirelessly to the XBee base station. The software on the main computer, which can be a solid state machine like the FitPC2 or a low cost machine like a Netbook, can then translate the raw serial data from the reader.

Something to test out. It would dramatically simplify remotely readable RFID readers as you will only need the RFID card reader and the XBee module.

The ID12 RFID reader

ID 12 and Arduino board. Image curtosy to hc Gilje

Creating an RFID reader appears to be relatively simple, thanks to the use of serial data.

The ID12 has two Digital Out ports: D0 and D1. In the schema presented for the TUNE Glove, D0 is used, located at pin 9. The other pins connected are:

  • Pin 2 (RST) and pin 11 (SV) to +5V
  • Pin 1 (GND) and pin 7 (FS) to GND
Right now I have no clue what RST and FS are doing and why they are made respectively set to high (5V) and low (GND).

3.5 and 5 Volt voltage regulators

As a layman, what I did not know existed are the single-chip Voltage regulators. The base models are step-down regulators with an output of 3.5V and 5 Volts. Perfect when you need to add XBee or WiFly to your experiments.

Arduino NewSoftSerial library

Another neat thing is the NewSoftSerial library for Adruino, allowing you to turn any set of pins into additional RX/TX pins with free to set baud rates.

It is based on Ladyadas  AFSoftSerial, uses “interrupt driven receives” and is written by Mikhal Hart.

What is handy to know is how to use the library, which is quite simple.

I copied and pasted the SoftSerial elements from the GeekMovement TUNE Glove project.

// Define the SoftSerial object called "xbee" and the pins it will use
NewSoftSerial xbee(rxPin,txPin);
// Start it with a speed of 9600 baud
// Write data
xbee.print(code[i], HEX);

Other RFID projects

I found another RFID project on the Arduino Playground Wiki. It does not state who wrote the article. The cote is attributed to: “vgrhcp”.

That project also uses the NewSoftSerial library to allow communication to both the RFID reader and a computer or device.

Electric strike lock

Electric Strike lock - Curtosy to Alibaba

The Electric Strike lock is what you will find in almost any door with an electric opener via an intercom system.

Its internals contain an electro magnet that – when activated – releases the strike and allows the door to be pushed open.

When the electromagnet is disabled, the strike will block again.

You can buy Electric Strike locks operating at 12 Volts. Conveniently the same amount as for an Arduino board.

Posted in: 5: Research