Face Recognition Door Lock

Introduction

A Face Recognition Door Lock is an advanced AI-based security system that uses computer vision and facial recognition to grant or deny access. Instead of traditional keys or passwords, the system identifies authorized users by analyzing their facial features.

This project uses the ESP32-CAM module for image capture and face recognition, making it ideal for smart homes, offices, and secure areas.


Objective of the Project

  • To implement a secure door locking system using face recognition
  • To eliminate the need for keys or passwords
  • To enhance security using AI and IoT technologies
  • To enable real-time monitoring and access control

Working Principle

The Face Recognition Door Lock system works using image processing and AI algorithms.

Step-by-Step Working

  1. ESP32-CAM captures the face image of a person standing at the door
  2. The captured image is processed using face detection and recognition algorithms
  3. The face is compared with stored authorized face data
  4. If a match is found, the door lock (servo/solenoid) is unlocked
  5. If the face is not recognized, access is denied and an alert can be triggered
  6. Live video feed can be accessed via a web browser

Components Required

  • ESP32-CAM (AI-Thinker module)
  • FTDI USB-to-Serial Programmer
  • Servo Motor / Solenoid Lock
  • Relay Module (if using solenoid lock)
  • Jumper Wires
  • 5V Power Supply
  • Wi-Fi Network

Block Diagram

Camera (ESP32-CAM)
        ↓
Face Detection & Recognition (AI)
        ↓
ESP32 Controller
        ↓
Servo / Relay
        ↓
Door Lock Mechanism
        ↓
Wi-Fi → Web Dashboard / Monitoring

Circuit Connections

ESP32-CAM Programming (FTDI)

ESP32-CAM   →   FTDI
GND         →   GND
5V          →   VCC
U0R (RX)    →   TX
U0T (TX)    →   RX
IO0         →   GND (Programming Mode)

Servo Motor Connection

Servo Signal → GPIO14
Servo VCC    → 5V
Servo GND    → GND

⚠️ After uploading the code, remove IO0 from GND and reset the ESP32-CAM.


Arduino Code (ESP32-CAM Face Recognition Door Lock)

#include "esp_camera.h"
#include <WiFi.h>
#include "esp_http_server.h"

// Wi-Fi credentials
const char* ssid = "Your_WiFi";
const char* password = "Your_Password";

// Camera pin configuration (AI Thinker)
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22

#define SERVO_PIN 14

void startCameraServer();

void setup() {
  Serial.begin(115200);
  pinMode(SERVO_PIN, OUTPUT);

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }

  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sscb_sda = SIOD_GPIO_NUM;
  config.pin_sscb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.pixel_format = PIXFORMAT_JPEG;
  config.frame_size = FRAMESIZE_QVGA;
  config.jpeg_quality = 10;
  config.fb_count = 1;

  if (esp_camera_init(&config) != ESP_OK) {
    Serial.println("Camera Init Failed");
    return;
  }

  startCameraServer();
  Serial.println("Face Recognition Door Lock Ready");
}

void loop() {
  // Servo unlock simulation
  digitalWrite(SERVO_PIN, HIGH);
  delay(1000);
  digitalWrite(SERVO_PIN, LOW);
  delay(5000);
}

🔹 For full face recognition, use the ESP32-CAM Face Recognition example from Arduino IDE
(File → Examples → ESP32 → Camera → Face Recognition)


Code Explanation

  • ESP32-CAM captures facial images
  • AI-based face recognition compares stored faces
  • Authorized face unlocks the door using servo/relay
  • Live camera feed available via browser IP

Advantages

  • Keyless and password-free security
  • High accuracy and reliability
  • Real-time monitoring
  • Low-cost AI-based solution

Applications

  • Smart homes
  • Office security systems
  • Restricted access areas
  • Attendance and authentication systems

Future Enhancements

  • Cloud-based face database
  • Mobile app notifications
  • Integration with smart home systems
  • Mask detection and multi-factor authentication

Conclusion

The Face Recognition Door Lock system is a powerful combination of AI, IoT, and embedded systems that enhances security and convenience. It demonstrates real-world implementation of computer vision and smart access control, making it an ideal project for modern smart systems.

Leave a Reply

Shopping cart

0
image/svg+xml

No products in the cart.

Continue Shopping