Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

ESP32-Based Smart Lock System with GPS and Fingerprint Scanner

View and Edit Project In Cirkit DesignerImage of ESP32-Based Smart Lock System with GPS and Fingerprint Scanner

Circuit Documentation

Summary

This circuit is designed to integrate various sensors and actuators with an ESP32 microcontroller. The system includes a 16x2 I2C LCD for display, a GPS module for location tracking, a fingerprint scanner for biometric authentication, a buzzer for audio alerts, a solenoid lock for physical security, a vibration sensor for motion detection, a 5V relay for controlling high-power devices, and a 4x4 membrane matrix keypad for user input. The circuit is powered by a 12V battery, with a step-down module to provide the necessary voltages for different components.

Component List

  1. 16x2 I2C LCD

    • Pins: GND, VCC, SDA, SCL
    • Description: A 16x2 character LCD display with I2C interface.
    • Purpose: To display information to the user.
  2. GPS NEO 6M

    • Pins: VCC, RX, TX, GND
    • Description: A GPS module for location tracking.
    • Purpose: To provide GPS coordinates.
  3. Fingerprint Scanner

    • Pins: VCC, TX, RX, GND
    • Description: A biometric sensor for fingerprint recognition.
    • Purpose: To authenticate users.
  4. Buzzer

    • Pins: PIN, GND
    • Description: An audio alert device.
    • Purpose: To provide audio feedback and alerts.
  5. 12V Solenoid Lock

    • Pins: VCC, GND
    • Description: An electronic lock.
    • Purpose: To control access.
  6. SW-420 Vibration Sensor

    • Pins: VCC, Ground, Digital output
    • Description: A sensor to detect vibrations.
    • Purpose: To detect motion or vibrations.
  7. 5V Relay

    • Pins: Normally Open, Common terminal, Normally Closed, In, GND, VCC
    • Description: A relay module to control high-power devices.
    • Purpose: To switch high-power devices on and off.
  8. 4X4 Membrane Matrix Keypad

    • Pins: R1, R2, R3, R4, C1, C2, C3, C4
    • Description: A 4x4 matrix keypad.
    • Purpose: To provide user input.
  9. ESP32 Devkit V1

    • Pins: 3V3, GND, D15, D2, D4, RX2, TX2, D5, D18, D19, D21, RX0, TX0, D22, D23, EN, VP, VN, D34, D35, D32, D33, D25, D26, D27, D14, D12, D13, VIN
    • Description: A development board based on the ESP32 microcontroller.
    • Purpose: To control the entire system.
  10. Step Down Module

    • Pins: 24v IN+, GND, 12v IN+, 5v OUT+, 5v OUT-
    • Description: A voltage regulator module.
    • Purpose: To step down voltage from 12V to 5V.
  11. Battery 12V

    • Pins: +, -
    • Description: A 12V battery.
    • Purpose: To power the circuit.

Wiring Details

16x2 I2C LCD

GPS NEO 6M

Fingerprint Scanner

Buzzer

12V Solenoid Lock

SW-420 Vibration Sensor

5V Relay

4X4 Membrane Matrix Keypad

ESP32 Devkit V1

Step Down Module

Battery 12V

Documented Code

/*
Code Last Version Project Microcontroller & Microprossessor
- Aslam Azharan Wade Laode  (235150307111029)
- Evan Rayhandra Gerard     (235150307111034)
- Timothy Bertu Pasaribu    (235150301111027)
*/

/* LIBRARY */
#include <Arduino.h>
#include <WiFi.h>
#include <HTTPClient.h>
#include <Wire.h>
#include <Keypad.h>
#include <TinyGPSPlus.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include <LiquidCrystal_I2C.h>
#include "time.h"

/* Keypad Rows & Collums */
#define ROWS 4
#define COLS 4
/* PIN RX2 & TX2 */
#define RXD2 16
#define TXD2 17

/* GPS SETUP */
HardwareSerial gpsSerial(2);
TinyGPSPlus gps;

/* TIME SETUP