Alexander EttlDevelopment Engineer (Mechatronics)
RFID Access Control

RFID Access Control

SPI to the reader, TCP/IP over WLAN to the server, with a lean text protocol on TCP in between: the client reports the UID it read, the server answers with the decision, and the display and status LEDs mirror it straight away. In normal operation the server decides: the client sends the UID, the answer comes back as ALLOW or DENY, readable in the terminal on the left. Take that connection away and it becomes the only genuinely interesting question in the project.

The server (left) checks the lockout window and access list and logs every decision; the ESP32 client (right) tries WLAN and the server first, and only falls back to the local list once that fails. On connection loss the client falls back to OFFLINE, checks a list in its own flash and retries the connection in the background, which makes ONLINE and OFFLINE two operating states with automatic reconnect. A lock that stops working without a network isn't a lock, even though that costs a deliberately accepted inconsistency: a permission revoked moments earlier can still be honoured offline. It isn't a security system either, since a MIFARE card's UID clones trivially and the link stays unencrypted. It's finished all the same, an exercise in system integration from bus through network and state logic to the enclosure.

A ten-minute walkthrough recorded for the supervising professor, stepping through every feature the system handles.

Two buses in one device
And when the WLAN drops?
Server and client, step by step
Then the client decides alone
RFID Access Control
Two buses in one device

And when the WLAN drops?

Server and client, step by step

Then the client decides alone

A browser recreation of the real unit and the real server console: drag a card onto the ring, or tap it, and watch the exact log line it produces. Flip the WLAN switch and the client falls back to its own list in flash, last synced a while ago. Try 20047935 once offline: it was added after that sync, so it works online and gets rejected locally, same as the real device would.

At a glance

Context
Data communication, Munich University of Applied Sciences
Period
Winter 2025/26 · 3 months, ~60 h
Role
Team of two with Tim Welzel. Mine: firmware, protocol and build. Supervised by Prof. Hermann.
Disciplines
Electronics, Software and Mechanical
Evidence
a built prototype and documented iterations

Up next