PRJ-01 · Embedded Systems · Hardware · PCB Design · IoT
Hotel Access Control System
A complete embedded hotel room access-control platform designed from the ground up.

01 Overview
A complete embedded hotel room access-control platform designed from the ground up — covering hardware architecture, custom PCB, NFC credential reading, capacitive touch input, wired and wireless networking, and firmware.
02 My Role
Designed and developed the platform end to end: hardware architecture, PCB development, NFC and touch integration, networking, firmware, device identity and testing.
03 System Architecture
PoE / Power—ESP32-WROOM-32E—PN7160 NFC—MPR121 Touch—LAN8720 Ethernet PHY—Wi-Fi fallback—Relay / Door—LED indication—MQTT broker
[ Add block diagram ]
04 Hardware
- MCU
- ESP32-WROOM-32E
- Power
- Power over Ethernet — add power architecture details
- Interfaces
- RFID / NFC (PN7160), capacitive touch (MPR121), relay, LED
- Communication
- Ethernet (LAN8720 / LAN8710), Wi-Fi fallback
- PCB
- Custom PCB — add layer stack and layout notes
05 Firmware
- Language
- Embedded C++
- Protocols
- MQTT over Ethernet / Wi-Fi
- Device logic
- Credential handling, relay door control, LED states
- Lifecycle
- Secure device provisioning, OTA firmware updates
06 Engineering Challenges
- ▸Ethernet PHY integration with PoE power
- ▸Reliable capacitive touch sensing in an enclosure
- ▸NFC integration and credential handling
- ▸Secure device identity and provisioning
- ▸Add further challenges
07 Testing & Debugging
OscilloscopeLogic analyserMultimeterProgrammable PSUUART debuggingAdd specific measurements
[ Add oscilloscope capture ]
08 Result
Add details — describe what was achieved.
09 Tech Stack
ESP32-WROOM-32ECustom PCBRFID / NFCPN7160MPR121EthernetLAN8720 / LAN8710PoEWi-Fi fallbackMQTTRelay door controlLED controlSecure provisioningOTA updatesEmbedded C++
10 Gallery

[ Add PCB render ]
[ Add prototype photo ]
[ Add schematic screenshot ]
[ Add block diagram ]
[ Add firmware screenshot ]
[ Add test results ]
Next case study
Embedded IoT DIN-Rail Controller →