CHEHRA: Smart Attendance System

Inspiration

School check-ins are slow and outdated. Students forget IDs, lines get long, and staff waste time manually tracking who’s present. We built CHEHRA to streamline that — a smart, hardware-integrated system that uses facial recognition to automate attendance and lunch verification.

What it does

CHEHRA is a full-stack project that combines a custom website with hardware to create a smart check-in system. It:

  • Lets students visit a web page, fill out a registration form, and upload face images for training
  • Uses facial recognition to identify students in real time from a live camera feed
  • Sends the student’s name, ID, and tardy status to an Arduino after recognition
  • Displays data on a 16x2 LCD, flashes LEDs (green = success), and activates a buzzer
  • Uses an ultrasonic sensor to detect presence and trigger scanning, then pauses after recognition
  • Includes a manual stop button to disable further scans
  • Adjusts camera height using servos based on the detected distance

How we built it

  • Frontend: Pure HTML, CSS, and JavaScript. Students use it to register and upload images
  • Backend: FastAPI handles registration, image storage, recognition status, and serial comms
  • Facial Recognition: Python + OpenCV, trained from uploaded images. Runs on a local machine simulating a Pi
  • Raspberry Pi: Controls the camera and servo mount, and runs the detection script
  • Arduino: Displays recognition results via LCD, LEDs, and buzzer. Responds to serial input
  • ESP32: In progress — will enable Wi-Fi/Bluetooth comms between Pi and Arduino for a cleaner setup

Challenges we ran into

  • Real-time facial recognition synced with hardware feedback
  • Servo movement based on ultrasonic sensor data
  • Serial communication timing between FastAPI and Arduino
  • Making everything work smoothly as a solo full-stack + hardware project

Accomplishments that we're proud of

  • Fully working student check-in system with a web-based frontend
  • Clean UI that lets students register and upload training images
  • Reliable recognition with hardware feedback (LCD + buzzer + LEDs)
  • Adjustable camera mount that responds to student height
  • All built from scratch — web, backend, vision, and hardware

What we learned

  • Tying HTML/CSS/JS frontends to Python-based vision systems
  • Implementing facial recognition from scratch with OpenCV
  • Syncing Arduino hardware with live recognition events
  • Handling real-world inputs like distance sensors and servos

What’s next for CHEHRA

  • Finalize wireless ESP32 + Raspberry Pi communication
  • Add image privacy and secure authentication
  • Create a teacher/admin dashboard for live attendance monitoring
  • Pilot in a real classroom environment with anonymized data
  • Optimize models to eventually run directly on Raspberry Pi
Share this project:

Updates