Inventory Tracking System for Storerooms
This Fab Academy project aims to solve the inventory tracking problem in storerooms by using input devices to register and track tools and their borrowers.
Problem
Tools in storerooms are often misplaced or untracked, leading to inefficiencies and loss. Manual tracking is error-prone and time-consuming.



Solution
Design an inventory tracking system with the following components:
- Input Devices: Barcode scanners or RFID readers to identify tools via unique codes/tags.
- Borrower Registration: A system to log borrower details (e.g., name or ID) when tools are checked out or returned.
- Microcontroller: A board (e.g., XIAO RP2040) to process inputs and manage data.
- Output: A display or serial monitor to show tool and borrower status.
- Serial monitor
- 16 x 2 LCD Monitor
- Tracking Database: A simple software solution (e.g., stored on an SD card or connected to a computer) to log tool usage.
- Fabrication: 3D-printed or laser-cut enclosures for the scanner and custom tags for tools.





Fab Academy Skills
- Electronics Design: Create a microcontroller board with input/output devices.
- Embedded Programming: Program the XIAO RP2040 to handle scanning and data logging.
- Digital Fabrication: Fabricate enclosures (3D printing/laser cutting) and tool tags (laser engraving or vinyl cutting).
- Networking (Optional): Connect multiple nodes for multi-storeroom tracking.
Objectives
Individual Assignment
- Design and build a microcontroller board with an input device (barcode scanner or RFID reader) and an output device (e.g., OLED display or serial monitor).
- Program the board to read tool codes, register borrowers, and log transactions.
- Fabricate enclosures for the scanner and tags for tools.
Group Assignment (Optional)
- Characterize the performance of input devices (e.g., compare barcode vs. RFID for speed and reliability).
- Test the system across multiple storerooms with networked nodes.
Final Project Integration
This could serve as a final project if scaled up (e.g., adding wireless networking, a web interface, or advanced fabrication).
Tasks
A. Hardware Design
- Microcontroller: Use the XIAO RP2040 for its compact size and UART/I2C/SPI capabilities.
- Input Device:
- Option 1: Barcode Scanner: Use a USB barcode scanner module (e.g., DE2120) or a serial-based scanner connected via UART.
- Option 2: RFID Reader: Use an MFRC522 RFID module with SPI interface to read RFID tags on tools.
- Output Device: Add a 0.96” OLED display (I2C) to show tool ID, borrower name, and status.
- Storage: Use a microSD card module (SPI) to log transactions (tool ID, borrower ID, timestamp).
- Power: Power via USB or a 3.3V/5V battery with a regulator.
- PCB Design:
- Design a custom PCB in KiCAD to integrate the XIAO RP2040, RFID/barcode module, OLED, and SD card module.
- Include headers for connections and a power switch.
- Fabricate using in-house milling or a board house like JLCPCB.
B. Fabrication
- Tool Tags:
- Barcode Tags: Laser engrave or vinyl cut unique barcode stickers for each tool using a SKU generator.
- RFID Tags: Attach adhesive RFID tags (13.56 MHz NFC) programmed with unique IDs.
- Material: Use durable acrylic or metal for tags to withstand workshop conditions.
- Enclosure:
- Design a 3D-printed or laser-cut enclosure for the scanner (housing PCB, scanner, display).
- Use Fusion 360 to model with slots for buttons and display.
- Fabricate using a 3D printer (PLA) or laser cutter (acrylic).
- Tool Labeling: Laser engrave tool names or IDs directly onto tools for redundancy.
C. Software Development
- Tool and Borrower Registration:
- Program the XIAO RP2040 in Arduino to read tool IDs (barcode or RFID) and prompt for borrower ID (via keypad or second scan).
- Store data in a CSV file on the microSD card (e.g., tool_id,borrower_id,timestamp,action).
- Tracking Logic:
- Check-out: Scan tool → Enter borrower ID → Log “checked out” with timestamp.
- Check-in: Scan tool → Log “returned” with timestamp.
- Display status on OLED (e.g., “Tool #123: Checked out by John”).
- Error Handling:
- Validate tool and borrower IDs against a preloaded database.
- Alert via OLED or buzzer if a tool is already checked out or invalid.
- Optional Networking:
- Use UART to connect multiple scanner nodes for multi-storeroom tracking.
- Send logs to a central computer via serial communication.
D. Testing
- Unit Testing:
- Test barcode/RFID reader for accurate ID detection.
- Verify OLED display shows correct data.
- Confirm SD card logs transactions correctly.
- System Testing:
- Simulate 10 tools and 5 borrowers checking in/out.
- Check logs for accuracy and test error cases (e.g., invalid tool scan).
- Group Testing (Optional):
- Compare barcode vs. RFID for speed, range, and durability.
- Test networked nodes sending logs to a central system.
E. Documentation
Create a webpage for the Fab Academy site, including:
- Project description, objectives, and deliverables.
- Schematics, PCB layouts, and BOM (from KiCAD).
- Code snippets and fabrication files (STL, DXF).
- Photos/videos of the system in action.
- Lessons learned (e.g., challenges with RFID range or PCB routing).
Bill of Materials (BOM)
Component | Quantity | Source | Approx. Cost |
---|---|---|---|
XIAO RP2040 | 1 | Seeed Studio | $5 |
MFRC522 RFID Module | 1 | Amazon/Electronics shop | $3 |
0.96” OLED Display | 1 | Amazon/Electronics shop | $5 |
MicroSD Card Module | 1 | Amazon/Electronics shop | $3 |
RFID Tags (13.56 MHz) | 20 | Amazon | $10 |
PCB (Custom) | 1 | JLCPCB/In-house | $5–10 |
3D Printing Filament | ~100g | Local Fab Lab | $2 |
Acrylic Sheet (3 mm) | 1 (30x30 cm) | Local Fab Lab | $5 |
Misc (wires, headers) | Lot | Local Fab Lab | $2 |
Total | ~$40–45 |
Timeline (1–2 Weeks)
- Day 1–2: Research input devices, finalize BOM, and sketch system design.
- Day 3–4: Design PCB in KiCAD, generate Gerber files, and fabricate PCB.
- Day 5–6: Model and fabricate enclosure (3D print/laser cut) and tool tags.
- Day 7–8: Program XIAO RP2040 for scanning, logging, and display.
- Day 9–10: Assemble hardware, test system, and debug.
- Day 11–12: Document process, create webpage, and prepare demo video.
Deliverables
- Hardware: Custom PCB with XIAO RP2040, RFID reader, OLED, and SD card module.
- Fabrication: 3D-printed/laser-cut enclosure and 20 tool tags (RFID or barcode).
- Software: Arduino code for tool/borrower tracking and logging.
- Documentation: HTML webpage with schematics, code, photos, and video.
- Demo: Video showing a tool being checked out/returned with borrower registration.
[Placeholder for system photo or demo video]