(Another) RFID security system

I've been working on a simple RFID security system:

Not installed yet, but seems to work OK. The door strike requires 12V, so that is powered off Vin, using an N-channel MOSFET to control it.

The sketch is laughably simple, but at least allows for any number of cards to be presented (eg. one for each family member). If one is lost you just recompile, changing the code of the lost card to that of the replacement one.

Schematic and code are available here:


why not add an ethernetshield with a little server so you can add remove entries in the table?

Would change The sketch is laughably simple into something serious. If all is installed I don;t want to dissassemble the door just for a recompile..

Altenative, is to have the entries on an SD card?

nevertheless, inspiring project!

Thanks for the feedback!

Perhaps I should have been clearer. The Arduino is not physically located close to the door. You need to run the 6 wires (eg. speaker wire) from the door to where the processor board is located (eg. your desk). It just sits there, comfortably close to hand, reading the data from the RFID reader, and sending commands to the door lock to open when required.

It would indeed be unworkable to have to dismantle the door every time you need to change a code.

I tested with an 8 m cable run (for the data cable) and it worked fine. So close proximity of the Arduino to the door mechanism is not required.

I agree about the SD card, that would be a great idea, not only could you put the "good" codes onto it, you could log accesses to your door on it.

The nice thing about a system like this is that, even if the burglars attempt to smash the RFID reader that only is a denial of service attack. That doesn't actually open the door.

And some experimenting shows that the reader could actually be located on the inside, so to reach it, you have to open the door in the first place, so then attacking the reader is a bit redundant.

you could log accesses to your door on it.

Monitoring the kids ;)

Did some RFID for acces control in the past:

  • one time access You allow an RFID code to open the door, keep a counter per code. if count > 0 => ERROR. table looked like { RFID, MAX, COUNTER} MAX is MAXINT or so

  • timed access You allow the RFID code between certain times, this prevented access outside working hours... This simple requirement created a complete hour registration system ...

simplistic version looks like { RFID, TIME1, TIME2 }