Arduino RFID Attendance System with Arrival Times
Level 70 · Who Came Today · 40 minutes
Take attendance with RFID cards. Save each student’s first arrival time from a clock, reject visitors and prevent duplicate check-ins.

Preview the project free; a course seat is required to run and submit. No hardware kit needed.
Your project challenge
Tap Asha or Ben to record attendance and the clock’s arrival time. Count each person once. A second tap shows their original time, not a new one. Reject visitor cards. Remove each card before the next tap. Show the name, time and total on the LCD; print new arrivals to Serial.
Components you’ll use
- Arduino Uno
- RC522 RFID Reader
- DS1307 I²C Clock
- I²C LCD (16×2)
What you’ll build
A classroom check-in desk: students tap a card instead of answering a roll call. Start the simulation, then choose Asha card or Ben card above the reader. Press Remove card between taps. Try Visitor card and repeat a student’s card.
How it works
The reader uses SPI on D10–D13, with RST on D8 and 3V3 power. The LCD at 0x27 and DS1307 clock at 0x68 share A4/A5. IRQ stays unused. The clock starts at 09:00:55 and advances with simulation time, not your wall clock.
Keep the first arrival
Match all four UID bytes. Asha is DE AD BE EF; Ben is 04 A1 B2 C3. Save each first arrival in an array and count that person once. A repeated tap shows already in and the saved time. Unknown cards never increase attendance. Open Serial for new-arrival records.
Try it
Tap Ben first, wait, then Asha. Tap Ben again: his time must stay unchanged. Stop and start to begin a fresh attendance session; records are not saved after restarting.
Make it yours
Add a third student and a late-arrival rule. Compare hours and minutes rather than strings. This extension is not graded.
Real hardware
UID matching is a learning model, not secure identity verification. Use 3.3V-compatible signals or level shifting with a physical 5V Uno. Use fictional names while experimenting.
The interactive editor includes the wiring guide, code editor and simulation controls.