This repository contains the complete design files, firmware, software, and documentation for a Handheld High-Frequency (HF) RFID Reader. This project was developed as a partial fulfillment of the requirements for the module EN 2161: Electronic Design Realization at the Department of Electronic & Telecommunication Engineering, University of Moratuwa.
- Features
- System Architecture
- Hardware Design
- Antenna Parameters
- PCB Design
- Enclosure Design
- Software & Firmware
- Gallery
- Installation
- Usage
- Project Team
- Acknowledgments
- Ergonomic Design: A comfortable, gun-shaped enclosure with an ergonomic handle, designed in SolidWorks and 3D printed for industry-level durability
- HF RFID Capability: Reads HF (13.56 MHz) RFID tags, supporting the ISO 15693 standard
- Wireless Connectivity: Integrated ESP8266 Wi-Fi module for direct communication with a cloud database, offering greater range and flexibility compared to Bluetooth
- Modular PCB Design: Three separate 2-layer PCBs for the Antenna, MCU, and Power circuits to ensure signal integrity and simplify debugging
- Rechargeable Power System: Powered by two 18650 Li-Ion batteries (total capacity ~3600 mAh), with a dedicated charging cradle and a Battery Management System (BMS) for safety and longevity
- User Interface:
- LED indicators for power, Wi-Fi status, and read confirmation
- A comprehensive Web Application (Node.js) for system management, data visualization, and device configuration
- A cross-platform Mobile Application (Flutter) for on-the-go data access and monitoring
- Centralized Database: Utilizes Supabase (PostgreSQL) for robust, scalable, and secure data storage with row-level security policies
| Component | Selected Model | Reason for Selection |
|---|---|---|
| RFID Frontend | NXP PN5180 | High performance, excellent documentation, and support for ISO 15693 |
| Microcontroller | Atmel ATmega32U4 | Native USB support, sufficient I/O, and strong community support |
| Wi-Fi Module | Espressif ESP8266 | Direct internet access, high data throughput, and large developer community |
| Battery | 2x Li-Ion 18650 (3600 mAh) | High capacity for full-shift operation, good availability, and safety |
A custom 2-turn PCB trace antenna was designed for the 13.56 MHz frequency. The design was simulated and optimized for performance.
| Parameter | Value | Unit | Description |
|---|---|---|---|
| Operating Frequency | 13.56 | MHz | HF RFID frequency |
| Target Impedance | 20 | Ω | Antenna impedance |
| Antenna Dimensions | 65 x 65 | mm | Physical size |
| Number of Turns (N) | 2 | - | Antenna coil turns |
| Track Width (w) | 500 | µm | PCB trace width |
| Gap between tracks (g) | 500 | µm | Spacing between traces |
| Simulated Inductance | 891 | nH | Calculated inductance |
| Simulated Capacitance | 2.3 | pF | Calculated capacitance |
| Simulated Resistance | 1.180 | Ω | Calculated resistance |
The system uses a modular approach with three separate 2-layer PCBs: Antenna, MCU, and Power. This separation minimizes interference and simplifies manufacturing.
| PCB Module | Function | Features |
|---|---|---|
| Antenna PCB | RF signal processing | Custom antenna design, impedance matching |
| MCU PCB | Main processing unit | ATmega32U4, PN5180 interface, ESP8266 communication |
| Power PCB | Power management | BMS, charging circuit, voltage regulation |
The enclosure and charging cradle were designed in SolidWorks for ergonomics, durability, and ease of assembly. The final models were 3D printed using ABS material.
- Ergonomic gun-shaped design for comfortable handheld operation
- Robust ABS construction for industrial durability
- Integrated charging cradle for convenient storage and charging
- Professional finish suitable for commercial applications
The backend uses Supabase, which provides a PostgreSQL database, authentication, and real-time APIs. The schema is designed to store information about users, readers, tags, and scan events.
- Technology: Node.js
- Features: System management, data visualization, device configuration
- Interface: Responsive dashboard for administrators
- Technology: Flutter (Cross-platform)
- Features: On-the-go data access, real-time monitoring
- Platforms: iOS and Android support
- Assembly: Follow the assembly guide in
/docs/assembly_guide.pdf - PCB Installation: Install the three PCB modules in the enclosure
- Battery Installation: Insert two 18650 Li-Ion batteries
- Charging: Place the device in the charging cradle
-
Firmware Upload:
# Upload ATmega32U4 firmware avrdude -p atmega32u4 -c avr109 -U flash:w:rfid_reader.hex # Upload ESP8266 firmware esptool.py --port /dev/ttyUSB0 write_flash 0x00000 esp8266_firmware.bin
-
Database Setup:
- Create a Supabase account
- Import the database schema from
/database/schema.sql - Configure environment variables
-
Web Application:
cd web-app npm install npm start -
Mobile Application:
cd mobile-app flutter pub get flutter run
- Power On: Press and hold the power button
- Wi-Fi Connection: Device automatically connects to configured network
- Tag Reading: Point the antenna toward an RFID tag and press the trigger
- Data Sync: Scan data is automatically synchronized to the cloud database
- Monitoring: View real-time data through web or mobile applications
- Access the web dashboard to configure device settings
- Manage user permissions and access levels
- Monitor device status and battery levels
- Export scan data in various formats
This project was a collaborative effort by the following team members:
| Index No. | Name |
|---|---|
| 220235V | Ilukkumbura I.M.E.I.B. |
| 220212A | Hapuarachchi H.A.D.N.D. |
| 220162T | Fernando C.S.R. |
| 220221B | Hathurusingha H.A.R. |
| 220420J | Nawarathne M.A.A.K. |
| 220700T | Wickramasinghe S.D. |
| 220089B | Cooray M.S.T. |
| 220163X | Fernando D.S. |
- Design Report: Complete hardware design documentation
- Software Report: Software architecture and implementation details
- Assembly Guide: Step-by-step assembly instructions
- User Manual: Operating instructions and troubleshooting




.png)
.png)
