a14g-final-submission-s25-t11-keep-real

A14G Final Submission

Team Number: 11
Team Name: Keep Real
Team Members: Binsheng Zhang, Yiwei Wang
GitHub Repository URL: https://github.com/ese5160/a14g-final-submission-s25-t11-keep-real.git
Description of test hardware: Win11 Desktop, SAMW25 Custom board

1. Video Presentation

Youtube Preview

2. Project Summary

2.1 Device Description

Our project is an intelligent smart lock that offers multiple unlocking methods, including password entry, fingerprint recognition, cloud-based password unlocking, and cloud-based button unlocking. Additional features include password management, fingerprint enrollment and deletion, air quality monitoring, and alarm triggering, making it suitable for apartment doors, home entry systems, and even secure safes.

What inspired you to do the project? What problem is your device solving?

We were inspired by the growing demand for secure and flexible access control in modern living environments. Our device addresses the limitations of traditional locks by offering multi-factor authentication options and real-time remote control, enhancing both security and user convenience.

How do you use the Internet to augment your device functionality?

Through Internet connectivity, our device enables remote access to air quality data, instant alerts for unauthorized unlocking attempts, and seamless remote unlocking via wireless communication. Additionally, a cloud-based keypad interface allows users to control all device functionalities wirelessly, offering full remote management and enhanced security.

2.2 Device Functionality

The entire system is built around the SAMW25 chip as the central computing core, running FreeRTOS as the real-time operating system. Peripheral components include a servo motor, air quality sensor, LCD display, keypad, fingerprint sensor, buzzer, and an Arduino board.

2.2.1 Keypad

The keypad serves as the main user interaction tool. Users navigate through various functions by pressing different number keys:

2.2.2 LCD Display

The LCD acts as the primary visual interface, displaying real-time air quality information (pressure, temperature, humidity, gas resistance) and providing dynamic feedback for all keypad operations.

2.2.3 Servo Motor

The servo motor simulates the door lock mechanism. Upon receiving task notifications, it rotates to 90 degrees (open) or returns to 0 degrees (closed). If no action is taken within 5 seconds after unlocking, the door automatically re-locks.

2.2.4 Fingerprint Sensor

Managed via an Arduino board and associated libraries, the fingerprint sensor handles fingerprint reading, comparison, enrollment, and deletion for biometric authentication.

2.2.5 Buzzer

The buzzer enhances system interactivity and provides audible alerts with three modes:

2.2.6 Air Quality Sensor

Continuously monitors environmental conditions, reporting atmospheric pressure, temperature, humidity, and gas resistance levels.

2.2.7 Cloud Platform

The cloud interface provides five main functions:

2.2.8 Block Diagram

Block diagram of the device is shown below:

Block Diagram simple diagram

2.3 Challenges

2.3.1 3.3V Power Output Error

2.3.2 UART Pin Damage

2.3.3 Insufficient 5V Current Supply

2.3.4 Insufficient Memory Resources

2.3.5 Slow LCD Character Rendering

2.3.6 Coordinating Interactions Across Modules

2.4 Prototype Learnings

2.5 Next Steps & Takeaways

2.5.1 What steps are needed to finish or improve this project?

Moving forward, we plan to further enhance the security of the system by storing passwords either in the cloud or on a local SD card, along with implementing CRC checks to prevent password resets caused by unexpected power losses. For cloud communication, we aim to transition from HTTP to HTTPS to ensure secure data transmission. Additionally, we plan to optimize the fingerprint authentication module by porting its driver to the SAMW25 microcontroller, thereby improving the overall system integration and reducing hardware complexity.

2.5.2 What did you learn in ESE5160 through the lectures, assignments, and this course-long prototyping project?

Through the lectures, assignments, and the semester-long prototyping project in ESE5160, we learned the complete end-to-end process of full-stack device development. This includes peripheral selection, product concept and system design, PCB schematic and layout creation, implementation of various communication protocols, utilization of real-time operating systems, and systematic PCB hardware testing. Moreover, this project significantly improved our proficiency in embedded software development and code organization.

Github: Final Project Code

Node-RED instance : Node-RED

PCBA : Final PCBA

3. Hardware & Software Requirements

3.1 Hardware Requirements

3.1.1 Overview

The project’s hardware comprises a fingerprint sensor, a secure 4x4 matrix keypad for password input, and an SG90 servo motor for accurate lock simulation. The air quality sensor is used to detect data such as temperature, humidity, and air quality inside the house and display it on an LCD screen. A buzzer is used to trigger an alarm when necessary.

3.1.2 Definitions, Abbreviations

3.1.3 Functionality

3.2 Software Requirements Specification (SRS)

3.2.1 Overview

The software is responsible for managing user input and controlling hardware behavior, including the storage, recognition, and comparison of fingerprints and passwords. If the number of incorrect inputs exceeds the limit, the system will generate an alarm and control the locking and unlocking of the door. Additionally, the software reads parameters from the air quality sensor, displays air quality information on the LCD screen, and finally uploads alarm messages and air quality data to the cloud. Users can also control the locking and unlocking of the door remotely via the cloud.

3.2.2 Users

Suitable for users with large households, who care about indoor air quality, and prefer not to carry keys when going out.

3.2.3 Definitions, Abbreviations

N/A

3.2.4 Functionality

4. Project Photos & Screenshots

1 2 3

Third-Party Resources Used