Arduino + Electric Door Strike

Hi, i'm new to all this, but i'm trying to learn something with Arduino! First i've started with my Parallax RFID reader and a RGB LED to indicate status of the reader and when a valid tag is read, etc... Now i want to combine this with an electric door strike (i've already bought). This are the specifications of the door strike: Voltage: 12VDC Current: 450mA (max) ; 200mA (min) FailSafe

i want to be able to controll it through arduino (currently Duemilanove, but i want to make this work with a Standalone arduino) let's say, i have a 12V 2A wall power supply (i dont know if it's regulated or not?! ), so first question, how do i know if it is regulated ? Second, i want to power the arduino and the door strike with that power supply, so i have to split that source to arduino and to strike, how do i do this? Third, i have a TIP120 transistor, how do i connect it to arduino/door strike ?

if possible, can anyone make a schematic ? Cause i'm beginning with electronics and cant understand very much

Instead of requesting people to draw schematics for you, why not do a google search for "transistor relay schematic"? You should see quite a number availabe for study. You can put your multimeter across the output of your wall wart and see if it is 12v or something higher.

I can go along with ZK’s recommendations. Most all wall wart modules are unregulated, just rectified and filtered some. There are lap top supplies that have more tightly regulated output and most use switching regulators so they are more efficient as well. Sometimes you can find these cheap at surplus electronics sites, E-bay, thrift stores, etc.

Be sure to put a reversed biased diode across the strikers coil terminals as at those current ratings it’s sure to cause transients when de-energized. Also be sure you have good power bypass capacitors on your processor board.

To power both the striker and your standalone Arduino, you must split the +12v to both the striker and to the input of a 7805 5vdc regulator that then feeds the Vcc voltages to the processor board.

The transistor is wired emitter to ground, base through a series resistor (say 500 ohms) to an Arduino digital output pin, collector to striker, other side of striker to +12vdc.

A beginner-safer approach: Put an opto-isolator between your (expensive) Arduino and a RELAY, and drive the electromechanical strikeplate from the relay.

Yes... it can be done without all of that... but not easily, not "safely" ("Safe" for your Arduino)


Running the LED in the opto-isolator is like running an ordinary LED.... don't forget the current limiting resistor.

Really thanks for fast reply. I've measured my wall power adaptor, and it says 12.54V so it is unregulated, right ? i've made this paint image, just to help me understand the connections

Sorry for the image, but it's the best i can do for now.. Would this work ?

change the 500k ohm resistor to 500 ohms, and move the diode from the transistor to right across the striker coil, cathode end to red wire.


like this:


Thank you all very much for trying to help :

You still have a 500k resistor in the schematic, however I'm sure you just forgot ;)

Change the 500,000 ohm resistor to a 500 ohm resistor...

Yeah, i just forgot to change that! Anyway, i cant seem to get the strike working:( Here is arduino's code:

int doorPin = 4;

void setup() { Serial.begin(9600); Serial.write("READY"); pinMode(doorPin, OUTPUT);

digitalWrite(doorPin, LOW); }

void loop() { while(Serial.available() > 0){ char c =; if (c=='1') { digitalWrite(doorPin, HIGH); Serial.write("ABERTA"); delay(4000); digitalWrite(doorPin, LOW); } } }

:( If someone could help me doing a breadboard schematic, cause i've tried two different ways and no luck .

Thanks for your help !!

try it in different steps… that’s what I do with Arduino coding… I do one piece at a time then put it all together.

So for your project, which I’m doing the same exact thing, but not right now… I’m working on the GUI first.

Anyway, I would approach it like this:

Use a switch (momentary) to one of the pin, then when the switch is pushed, set the door solenoid to lock / unlock depend on the kind you got.
This will test to make sure your door strike circuitry is good and that it’s working.

Then, write a code for the Parallax reader… when it read correctly, turn LED green, else keep it red.
This will test the reader…

Then put it all together.

I have it all working already… but my circuitry is different since I use a variable voltage regulator to feed 5V power into the Arduino instead of straight 12V… then I used a MOSFET to power the solenoid instead of a transistor.

You can see my video here:

No RFID reader on that yet… I’m using those in a different design right now, so I haven’t add it in yet. We’re doing the same project on this post:

For the reader and led i've already tested them! I've done some code, found very useful similar projects and took some ideas from them, and got mine working! The only thing's left is door strike :( I've tested it, supplying 12V directly into it, and it unlocked. But with arduino digital pin4 connected to it through a resistor and the TIP120 & 1N4007 i cant get it working. Maybe the 1N4007 ? Or the connections... i really need some help. Thanks for your tips though

Well I suggest you check the striker driver transistor circuit independently from your code. Disconnect the resistor going to the Arduino output pin, then connect it to the +5vdc pin and see if the striker turns on. If it does not turn on, be sure to check if you have identifed correctly the base, emitter and collector leads of the transistor.


this is the way i have it connected. If i disconnect the connection to arduino, and supply power to striker, it opens. Shouldnt it be locked until i tell it through arduino, to open ? And... is anything wrong with the connections ?

Anyone can tell me what's wrong please?

EDIT, OK, i've figured it out myself! For those asking how... i've done the same circuit as this: Source:

Thank you all!