← Projects
raspberry-pi intermediate 1 hr ago ◯ 5 min read

Build a Raspberry Pi RFID Tool Checkout System for a Shared Shop or Makerspace

Build time: 5-8 hours
Tools needed: Soldering iron (optional, for header pins), Python/Flask or Node basics, drill for enclosure mounting, label/sticker applicator
Parts List
Raspberry PiRFIDmakerspaceinventory trackingshop organization

If you share a shop with family, a maker club, or a small team — or you just have enough tools scattered across enough projects that you've lost track of who has the good calipers — a simple RFID tool checkout system solves a real problem with hardware that costs less than a single missing tool. Tag each tool with a cheap RFID sticker, mount a reader at the shop entrance or tool crib, and a Raspberry Pi logs every checkout and return to a database with a timestamp and whoever badged the tag out. It's the same pattern commercial tool cribs and makerspaces use, built from parts any maker already has lying around.

This project covers the hardware build, the checkout/return logic, and a simple web dashboard so anyone in the shop can see what's out without walking the shelves to check.

System Overview

The system has three tag types on one reader: tool tags (one per tool, permanently affixed), user tags (one per person, carried on a badge or keychain), and the checkout logic ties them together. A checkout is a two-scan action — scan your user tag, then scan the tool tag — and the Pi logs the pairing. Returning is the same two scans in either order; the system just flips the tool's status back to available and closes out the loan record.

Parts List

Tagging Tools and Users

Adhesive NFC stickers work well on most hand tools and cases — apply them to a flat spot away from where the tool takes impact or heavy handling, since the antenna coil inside the sticker is thin and can crack under repeated flexing. For larger power tools or anything that gets dropped often, a small 3D-printed tag holder that snaps onto a handle protects the sticker far better than the adhesive alone. Give each user a keychain fob rather than a sticker — fobs survive being carried in a pocket far longer than an adhesive tag would.

Software Setup

  1. Wire the PN532 module to the Pi over SPI or I2C (SPI is generally more reliable for a fixed installation like this) following the same wiring approach covered in this site's standalone RFID access control reader project — the reader hardware here is identical, only the application logic differs.
  2. Set up a lightweight local database (SQLite is plenty for a shop-scale system; a few hundred tools and a handful of users generates a trivial amount of data) with three tables: tools, users, and checkout_events.
  3. Write the scan-handling logic as a simple state machine: first scan in a session sets the "pending" tag, second scan within a short timeout (10-15 seconds) either pairs a tool+user to create a checkout, or matches an already-checked-out tool to its holder to close out a return.
  4. Drive the RGB status LED as immediate feedback — green flash for a successful checkout, blue for a successful return, red for an unrecognized tag or a timeout — so the person at the reader gets instant confirmation without needing to look at a screen.
  5. Build a simple local web dashboard (a lightweight Flask or Node app works fine) showing currently-checked-out tools, who has them, and how long they've been out — this is the piece that actually gets used day to day, since it answers "where's the good level" without anyone needing to touch the reader itself.
  6. Mount the touchscreen in kiosk mode (this site's kiosk mode guide covers the boot-straight-to-webpage setup) showing the dashboard directly at the tool crib, so status is visible at a glance to anyone walking by.

Handling Overdue Tools

Add a simple overdue flag — if a tool has been checked out longer than a configurable threshold (a day for commonly-shared items, a week for less-contested ones), highlight it on the dashboard and optionally push a reminder. If you're already running Home Assistant or an MQTT broker in the shop, publish overdue events there and let existing notification automations handle the reminder rather than building notification delivery into this project from scratch.

Extending the System

Once the base checkout logic works, it's straightforward to extend: log tool usage frequency to inform future purchase decisions (a tool nobody ever checks out is a candidate to lend out or sell; one that's constantly out might be worth buying a second of), add a maintenance-due flag tied to usage count rather than calendar time for tools that need periodic service, or integrate with the same Spoolman-style inventory tracking this site covers for a 3D print farm if you want material and tool tracking under one roof.

A Note on Scope

This is a trust-based logging system, not an access-control lock — it records who has what, but it doesn't physically prevent someone from walking off with a tool without scanning it. For a shared shop or small club, that's usually the right tradeoff: the goal is visibility and accountability, not a security gate. If you need the tool crib itself physically secured, pair this project with an electronic lock on the storage cabinet, using the same RFID reader to also unlock it — at that point you're combining this with the access-control pattern from the PN532 reader project referenced above.

For a shop with more than one regular user, this kind of lightweight tracking earns its build time back the very first time someone can find the missing calipers by checking a dashboard instead of walking every bench in the building.