The RFID Door Lock Shield allows easy connection of an external RFID reader module and an electric door strike to an Arduino.

Power LED. Indicates that 5V is present on the Arduino.

Manual strike release connection. Shorting these pads causes the output to be activated. Useful for an "exit" button to unlock a door from the inside.

Status LED connection. 5V, GND, and one digital output that can be used to drive one or two LEDs (back to back) as status indicators.

RFID reader connection. 5V, GND, and two digital I/O pins that can be used with the Software Serial library to communicate with an RFID module.

12Vdc passthrough jumper. Links the shield's power supply to VIN on the Arduino, allowing you to power both the shield and the Arduino from the same source.

Reset button. Resets the arduino.

Prototyping area. General purpose pads (all isolated) where you can add your own parts.

12V in LED. Shows that an external power source is connected.

12Vdc input. Connect a 12V power source to these screw terminals. This power source is used to drive the strike plate output.

12V strike plate output. 12Vdc output switched by the Arduino. Connect to a 12V electric door strike.

12V out LED. Shows that the door strike output is activated.

Hardware Connections

1. Fit the RFID Door Lock Shield to your Arduino.

2. Connect a 12V strike plate to the screw terminals marked "STRIKE".

3. Connect a 5V RFID reader module to the terminals marked "RFID READER".

4. Connect 

Software Control

Your sketch can access the functions of the RFID Door Lock Shield using the following pins:

Digital pin 2: RX (receive) from RFID reader module.

Digital pin 3: TX (transmit) to RFID reader module.

Digital pin 8: Status LED output.

Digital pin 9: Strike plate output.

RFID Module

The RFID RX/TX pins can be accessed using the SoftwareSerial library in the Arduino IDE. The following example will allow you to connect an RFID module that communicates at 9600bps, and pass communications directly through the Arduino between the module and the serial terminal in the IDE. You can use this to test that communications with your module is working correctly.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); // RX, TX
void setup()  
  // Open connection to host at 38400bps

  // Open connection to RFID module at 9600bps
void loop()
  if (mySerial.available())
  if (Serial.available())

Status LED

The Status LED connection is a simple breakout for digital pin 8. You can simply connect an LED and a resistor in series between this pin and GND to provide a basic output, or you can connect a pair of LEDs as shown below to allow either red or green to be displayed depending on the state of the output pin. With this arrangement, setting the output HIGH will cause the green LED to turn on, while setting the output LOW will cause the red LED to turn on.

Strike Plate

The strike plate can be activated by setting digital pin 9 HIGH.

Combined Example

The RFID Access Control System project in Practical Arduino includes an example sketch that stores authorised RFID tag IDs internally and then activates the strike plate when a tag with a matching ID is read. You can download the sketch source code from:

Note: The RFID Access Control System project uses slightly different pin assignments. Adjust the pin settings in the sketch for use with this shield.