Introduction: Arduino Password Unlock Door Security System

Hello! In this Instructables guide I will show you how to make your own password unlock door system by using the Arduino uno board. I made my own circuit by using the ATmega328 micro controller but this is an optional step. In this guide I will help you to make it easily on breadboard by using the Arduino uno board, and I will give you some extra tips on how you can make your own Arduino-based custom circuit.

By using this system you will be able to unlock a door for 5 seconds. After 5 seconds the electrical door opener will be automatically be locked. You can unlock it by typing the correct password and pressing the '*' button. If you want to change the current password, you can do it by pressing the 'A' button and if you want to skip or abord an operation you can do it by pressing the '#' button. It also has a buzzer for making various tones during operation.

Watch the operation video:

The electrical door opener that I used need 9 to 12V to operate. So for this system I used an 12V power adapter. As current passes through it, the electric lock remains open. Otherwise it remains closed.

This device was made only for educational and presentational purpose reasons, it can't be used in real life. If you want to use it on your home's door make sure that it's enough safe , for example use a metal box and put the power cables "inside the wall".

Let's get started!

Step 1: What You Will Need

For this project you will need:

  • Arduino uno board
  • High contrast LCD display 16x2
  • Keypad 4x4
  • 10~20k potentiometer
  • NPN transistor NP2222A
  • 2 pins screw driver circuit
  • Electric door opener (12V)
  • Power source 9 to 12V (max!)

(ONLY) If you want to make your own custom - Arduino based - circuit you willalso need:

  • DIP socket for atmega328
  • LM7805 Voltage regulator (5V output)
  • 16Mhz crystal osc
  • 2x 22pF ceramic, 2x 0.22uF electrolytic capacitors
  • 1x 10K resistor
  • DC power jack
  • pcb prototyping board

And one box to fit them all!


  • Something to cur the plastic box
  • Hot glue gun
  • Drill for opening holes on the box

Step 2: The Circuit

The connections are pretty easy, watch the above image with the breadboard circuit schematic.

Some notes:

High contrast LCD:

  • Pin1 - Vdd to GND
  • Pin2 - Vss to 5V
  • Pin3 - Vo (to middle pin of the potentiometer!)
  • Pin4 - RS to Arduino pin 8
  • Pin5 - RW to GND
  • Pin6 - EN to Arduino pin 7
  • Pin11 - D4 to Arduino pin 6
  • Pin12 - D5 to Arduino pin 5
  • Pin13 - D6 to Arduino pin 4
  • Pin14 - D7 to Arduino pin 3
  • Pin15 - Vee (to right or left pin of the potentiometer)

Keypad 4x4:

From left to the right pin:

  • Pin1 to Arduino pin A5
  • Pin2 to Arduino pin A4
  • Pin3 to Arduino pin A3
  • Pin4 to Arduino pin A2
  • Pin5 to Arduino pin 13
  • Pin6 to Arduino pin 12
  • Pin7 to Arduino pin 11
  • Pin8 to Arduino pin 10

NPN Transistor:

  • B Base pin to Arduino pin 9
  • C Collector pin to 1st pin of the screw driver terminal *
  • E Emitter to GND

The 2nd pin of the screw driver terminal will be connected with Arduino "Vin" pin and will give power to our electrical door opener (9V to 12V) .

Step 3: The Code

Here's the code, embedded using Codebender!

Try downloading the codebender plugin and clicking on the Run on Arduino button to program your Arduino with this sketch. And that's it, you've programmed your Arduino board! If you want to make any changes in the code below just click the "Edit" button.

Tip: If you want to change the time that door remain unlocked change the delay(time) at line 105.

Step 4: Make Your Own Custom Arduino - Based Circuit

Now that you have successfully test your new project with the Arduino uno board, you can start making your own Arduino-based custom circuit! The procedure it's easy, but you will need some extras skills for making it.

So, I will try to give you some tips here to try it out by yourself:

  • 10K resistor must be connected between 1st (reset) pin and 7th (Vcc) of the Atmega328 micro controller.
  • 16MHz crystal oscillator must be connected at pins 9 and 10, labeled as XTAL1 and XTAL2
  • Connect to each pin of oscillator one 22pF capacitor. The other pin of capacitors goes to pin 8 (GND) of micro controller.
  • Remember to connect the second power line of the ATmega328 with your power source, pins 20-Vcc and 22-GND.
  • All other information for the Arduino pinout can be found at the second image above.
  • Use the LM7805 with two 0.22uF electrolytic capacitors (on input and output pins) to take 5V from your 12V power source. This is important! Do not provide more than 6V on your custom circuit!!! It will burn your Atmega micro controller and lcd circuit.

Step 5: Put It in a Box

Take your time and configure your box to fit your circuit. You can make it as big (or small) you want.

Step 6: Well Done!

That's it! You have successfully completed this guide and now you have your own Arduino door password unlock system!

You can find more Arduino tutorials and cool projects here.

I hope you liked this, let me know in the comments!

Automation Contest 2016

Runner Up in the
Automation Contest 2016