Skip to main content
Version: FILS English

Rusty Lock Access System

The Rusty Lock Access System is a multi-authentication security solution designed to control access using multiple user validation methods.

info

Author: Bejinaru Matei-Cristian
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-Matty27100

Description​

Built around the Raspberry Pi Pico 2W microcontroller, this project integrates an RFID reader, Wi-Fi-based control, a matrix keypad, LCD feedback display, and a servo motor attatched by an iron wire to a door mechanism. The goal is to provide secure, user-friendly access control that can be managed both locally and remotely.

Motivation​

I've been brainstorming project ideas with a friend who shares my passion for technology and automation earlier this year. We came up with a few concepts for the Innovation Labs competition, with smart-home equipment being a central theme. Although we weren’t able to participate, the idea of creating a smart device stuck with me. When the time came to choose a project for this course, I knew I wanted to pursue something in that direction. That’s how I arrived at the idea of building a versatile smart lock system.

Architecture​

Logical Diagram​

The Diagram with all the components:

Logical Diagram

How it works​

Initialization:​

The system boots and initializes all components. The LCD displays a welcome message.

Authentication:​

RFID: When a card is detected, its UID is checked against a known list.

Keypad: A valid PIN entered via the keypad is accepted.

Wi-Fi: Pressing the "Unlock" button on the web app sends a request that, if received, triggers the unlock.

Unlocking:​

A validated user causes the servo to open the lock and display a message for a few seconds.

Locking:​

After a delay, the servo returns to the locked position.

Log​

Week 5 - 11 May​

Once my project idea was approved, I ordered most of the required components and began implementation step by step. I started by configuring the second Pico as a debugger. After that, I got the RFID reader to work, successfully lighting up an LED upon tag detection. After that, I moved on to integrating the LCD screen.

Week1Progress

Week 12 - 18 May​

Week 19 - 25 May​

Hardware​

The hardware setup is centered around the Raspberry Pi Pico 2W, with its built-in Wi-Fi capabilities. A variety of peripherals are used to create an interactive, multi-authentication smart lock system.

Components Used

Raspberry Pi Pico 2W Central microcontroller; manages all logic and peripherals
Raspberry Pi Pico 2W Microcontroller configured as a debugger for the central Pico
RC522 RFID Reader SPI-based tag reader for user authentication
HD44780 16x2 LCD (via PCF8574) Displays system messages over I2C using an I/O expander
4x4 Matrix Keypad Used to enter a PIN code for access
SG90 Servo Motor Drives the door lock mechanism (via PWM control)
Passive Buzzer Emits audio feedback upon certain actions (e.g. denied access)
LED Status indicator (access granted, error, etc.)
External 5V Power Source Provides sufficient current for the LCD and servo motor

Schematics​

KiCad Scheme

KicadSchematic

Bill of Materials​

DeviceUsagePrice
2xRaspberry Pi Pico 2WMain Controller & Debugger39.66 RON x2
RFID RC522RFID Reader9,99 RON
4x4 KeypadPIN Insertion6.99 RON
Active Buzzer ModuleBuzzer1.40 RON
Breadboard, Jumpers & Power Supply KitGeneral Wiring & Voltage22.00 RON
3 mm Diffused LED Diode Assortment KitLEDs & Resistors29.99 RON
Micro Servomotor SG90 90Β°Unlocking mechanism13.99 RON
16x2 LCD with PCF8574 BackpackStatus Display16.34 RON

Software​

LibraryDescriptionUsage
embassy-rpEmbassy HAL for Raspberry Pi Pico (RP2040)Direct access and async control of peripherals like SPI, I2C, GPIO, and timers
embassy-executorAsync executor designed for embedded systemsManages asynchronous task execution without needing an OS
embassy-timeTimekeeping and delay abstractionUsed for creating delays and timers without blocking
embassy-syncPrimitives for concurrency and synchronizationEnables mutexes, signals, and channels between async tasks
embassy-netAsync embedded TCP/IP network stackUsed to serve a web interface over Wi-Fi (for unlocking remotely)
cyw43Driver for the CYW43 Wi-Fi chip on the Pico WUsed to join a Wi-Fi network and host a small HTTP server
mfrc522Rust driver for the MFRC522 RFID readerHandles tag detection and UID reading
gpioGPIO managementUsed for controlling GPIO pins
pcf857xDriver for PCF8574 I/O expanderUsed to communicate with the I2C backpack for LCDs
pwmPWM moduleUsed for controlling the buzzer
  1. DIY Smart Door Lock
  2. RFID DOOR LOCK