Skip to main content
Version: FILS English

SchoolGate

An RFID-based gate system that controls school access, displays student info and logs entry time.

info

Author: Yelyzaveta Lysenko
GitHub Project Link: https://github.com/UPB-PMRust-Students/fils-project-2026-elysenkko

Description

My project simulates a school entrance control system. An LED array imitates a student walking toward the gate. When the student reaches the barrier and scans their RFID card, the STM32 checks if the ID is authorized — if yes, the servo opens and the OLED displays the student name and entry time. If the card is unknown, a buzzer beeps and the red LED turns on.

Motivation

I chose this project because access control systems are widely used in offices and schools, and I wanted to understand how they work from the hardware side. It also gave me the opportunity to work with multiple components and communication protocols simultaneously.

Architecture

  • MFRC522 (RFID Reader) — Reads the student card ID via SPI and sends the data to the STM32.
  • STM32 — Main controller that verifies the ID and coordinates all system outputs.
  • Servo Motor SG90 — Actuator that opens the barrier via PWM when access is granted.
  • OLED Display — Shows student name and entry time via the I2C interface.
  • LED Array — Visual indicator that simulates student movement toward the gate.
  • Buzzer + KY-029 LED — Feedback system: Buzzer and Red LED for "Access Denied", Green LED for "Access Granted".

Log

Week 5 – 11 May

Brainstormed project ideas and defined the concept of an RFID-based school access system. Researched required components and planned the overall architecture.

Week 12 – 18 May

Discussed the project with the lab assistant. Selected key components (RFID reader, servo motor, OLED display) and set up the development environment.

Week 19 – 25 May

Started implementation:

  • connected and tested the MFRC522 RFID reader
  • implemented card detection and ID reading
  • set up communication between peripherals (SPI, I2C, GPIO)
  • began integrating the OLED display for showing student data
  • tested basic servo control for gate simulation

Hardware

  • Microcontroller: STM32U545RE Nucleo (Core logic & ID verification)
  • Input: MFRC522 RFID Reader (Reads student cards via SPI)
  • Output: SG90 Servo Motor (Barrier control via PWM)
  • Display: OLED Display (Shows student info via I2C)
  • Feedback: Buzzer + KY-029 LED (Audio-visual status indicators)
  • Visual Indicator: LED Array (Simulates movement toward the gate)

Schematics

Not available right now.

Bill of Materials

DeviceUsagePrice
STM32 Nucleo-U545REThe central microcontroller used for core logic and ID verification[Borrowed]
MFRC522 RFID ReaderReads student card IDs via SPI and sends them to the STM3218.98 RON
Servo Motor SG90Controls the physical barrier via PWM when access is granted9.99 RON
OLED Display 0.96"Shows student name, current time, and entry count via I2C15.69 RON
KY-029 LED ModuleDual-color LED used as a Green/Red status indicator4.99 RON
Active Buzzer 5VProvides an auditory alert for denied access attempts3.24 RON
Breadboard 830pUsed for making physical circuit connections between components13.99 RON

Software

LibraryDescriptionUsage
embassy-stm32Hardware Abstraction Layer for STM32Used for accessing SPI (RFID), I2C (OLED), and PWM (Servo).
embassy-executorAsync runtime for embedded systemsUsed for managing concurrent tasks like scanning cards and moving the servo.
mfrc522RFID reader driverUsed for reading student card IDs via the MFRC522 module.
ssd1306OLED display driverUsed for controlling the 0.96" OLED screen to show student info.
embedded-graphics2D graphics libraryUsed for drawing text and status messages on the display.
defmtLogging frameworkUsed for debugging and logging access events to the console.
  1. Korean School Access Systems Concept — Inspiration for the smart entrance security logic.
  2. Embassy-rs Documentation — The main guide for the async Rust framework you'll use for STM32.
  3. MFRC522 RFID with Rust Tutorial — Documentation for the RFID driver to read student cards.
  4. Embedded Graphics Simulator — A great tool to test your OLED UI (student names/time) before uploading to the hardware.
  5. STM32 PWM with Embassy — Examples on how to control the SG90 servo motor for the barrier.