

Warehouse rfid controller
Graduation project prototype for warehouse access control and employee monitoring using ESP32 RFID, cameras, YOLO detection, tracking, Re-ID, optional face recognition, fusion logic, SQLite, and a Flask dashboard.
- Size
- 106.7 × 101.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 9
- Nets
- 32
- Pads
- 56
- Tracks, vias
- 0, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 18 Jun 2026
- Updated
- 22 Jul 2026
Overview
Warehouse rfid controller is an open-source printed circuit board by menvo-embedded, from the menvo-embedded/DO_AN_1 repository on GitHub. It is a 2-layer board of 106.7 × 101.4 mm with 9 parts on 32 nets.
It is built around the S8050. Its parts include 5 connectors, 1 capacitor, 1 resistor, 1 IC and 1 transistor. It belongs with the radio and wireless boards and the ESP32 boards of this library.
Main components
1README
README.mdWarehouse Access RFID + Computer Vision
Graduation project prototype for warehouse access control and employee monitoring using ESP32 RFID, cameras, YOLO detection, tracking, Re-ID, optional face recognition, fusion logic, SQLite, and a Flask dashboard.
Main Components
firmware/: ESP32 Arduino firmware for RC522 RFID, LCD I2C, buzzer, servo gate, WiFi, NTP, and MQTT event publishing.python_cv/: main PC-side application for camera processing, Re-ID, InsightFace hybrid recognition, RFID/CV fusion, SQLite storage, and dashboard.hardware/: KiCad PCB source files, custom footprints, 3D models, and Gerber export for the RFID controller board.docs/: submission notes, demo guide, diagrams, and report assets.experiments/,python_cv/tools/,python_cv/tests/: debug, calibration, data collection, and validation utilities.
The active PC pipeline is python_cv/main.py. The nested folder
warehouse-access-rfid-cv/ is an older/stale copy and should not be used for
the final submission without review.
Setup
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txtIf CUDA-specific PyTorch wheels are required, install PyTorch first using the official command for the target GPU/CUDA version, then install the remaining requirements.
Copy the clean runtime example and edit local values:
Copy-Item .env.example python_cv\.envDo not commit python_cv/.env, RTSP passwords, WiFi passwords, raw videos,
face/person galleries, or private datasets.
Dataset and Local Data Path
AI datasets, raw videos, review crops, galleries, and model artifacts are local runtime assets. They are intentionally not part of the source-code submission.
Default local dataset root:
D:\warehouse_datasetDefault subfolders used by tools:
D:\warehouse_dataset\dataset_crops
D:\warehouse_dataset\raw_videos_full
D:\warehouse_dataset\review_crops_reid_yoloseg
D:\warehouse_dataset\raw_videos_from_imou_sdThese defaults are configured through .env:
WAREHOUSE_DATASET_ROOT=D:/warehouse_dataset
DATASET_CROPS_ROOT=D:/warehouse_dataset/dataset_crops
RAW_VIDEO_ROOT=D:/warehouse_dataset/raw_videos_full
REVIEW_CROP_ROOT=D:/warehouse_dataset/review_crops_reid_yoloseg
IMOU_SD_VIDEO_ROOT=D:/warehouse_dataset/raw_videos_from_imou_sdIf another machine uses a different drive or folder, edit python_cv/.env
instead of changing code. To copy local data from the old external F: drive to
D:, review and run:
.\scripts\migrate_warehouse_dataset_F_to_D.ps1
.\scripts\verify_dataset_paths.ps1The migration script copies data only; it does not delete anything from F:.
Run Demo
From the repository root:
cd python_cv
python main.pyDefault demo mode can run CV-only with Zone 2 webcam and InsightFace enabled.
For RFID + CV end-to-end, set ENABLE_MQTT=true, configure the MQTT broker,
flash the ESP32 firmware, and start the broker before running python main.py.
Create firmware/config/device_config.h from
firmware/config/device_config.example.h before flashing the ESP32.
Dashboard:
http://localhost:5000Detailed demo steps are in docs/RUN_DEMO.md.
Submission Notes
Before submitting, review:
CLEANUP_AUDIT_REPORT.mdSUBMISSION_STRUCTURE_PROPOSAL.mddocs/CLEAN_SOURCE_CHECKLIST.mdCLEANUP_COMMANDS_DRAFT.ps1
The current repo contains local debug outputs, model files, gallery pickles, raw videos, and real credentials in firmware. Clean or archive them before handing the project to a reviewer.
Parts
9| Qty | Value | Footprint | References |
|---|---|---|---|
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | 470uF | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C1 |
| 1 | BUZZER_2PIN | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J5 |
| 1 | ESP32_DEVKIT_30PIN | custom_footprints:ESP32_DEVKIT_V1_DOIT_30PIN | U1 |
| 1 | LCD_I2C | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | POWER_5V_IN | TerminalBlock_MetzConnect:TerminalBlock_MetzConnect_Type073_RT02602HBLU_1x02_P5.08mm_Horizontal | J6 |
| 1 | RC522_RFID | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J2 |
| 1 | S8050 | Package_TO_SOT_THT:TO-92_Inline | Q1 |
| 1 | SERVO_SG90 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
Questions
How big is the Warehouse rfid controller PCB?
It measures 106.7 × 101.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Warehouse rfid controller use?
9 parts, built around the S8050. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Warehouse rfid controller KiCad files?
From the menvo-embedded/DO_AN_1 repository on GitHub, at the commit this page was made from: the board is hardware/pcb/warehouse_rfid_controller/FINAL.kicad_pcb and its schematic hardware/pcb/warehouse_rfid_controller/warehouse_rfid_controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Warehouse rfid controller design in my own project?
Its repository states no licence, so its author keeps all rights: ask menvo-embedded before reusing the design.
Similar boards
- 2 layers60 × 40 mm

- 10 layers224.5 × 160 mm

Haasoscope pro adc fpga board
drandyhaas/HaasoscopePro
Affordable 2 GHz 3.2 GS/s 12 bit open-source open-hardware expandable USB real-time oscilloscope
586 parts485MIT - 2 layers100 × 57 mm

- 4 layers74 × 104 mm

- 2 layers189.5 × 204.9 mm

SmartSpin2k Panelized
doudar/SmartSpin2k
Transform your spin bike into a Smart Trainer!
749 parts292GPL-2.0 - 2 layers13.7 × 21.4 mm

- 4 layers43 × 49 mm

- 2 layers85 × 56 mm
