Passlet

Access Control
Scanner not set up

Open your space's scanner link on this device to make it a door for that space. You'll find the link and its QR in your dashboard under Door scanner.

Door:

This scanner needs the host's approval before it can let anyone in.

⏳

Waiting for the host to approve “”…

This updates automatically once approved.
⛔
Access denied

This device isn't allowed to scan at . Please contact the host.

Present QR code to enter
Door: —
Tap “Scan QR code”
or type the code
Ready

Log in to a space

Enter your space code and password.

Terms & conditions
You and your customers use this app at your risk.

Issue a pass

A QR key card for this space
Auto-renew keeps the pass working — it renews the expiry & uses automatically, for the weeks you set or forever.

Passes

0 passes

Your door

Shelly relay · unlocks on a granted scan
  1. Buy a Shelly Plus 1 relay and an electric strike (or maglock) rated for your door, plus its power supply.
  2. Wire the strike's power through the Shelly's relay contacts (terminals O and I). Low-voltage work — get help if unsure. Entrance locks may need a licensed installer and must open in a power cut / emergency.
  3. In the Shelly app, add the device to your Wi-Fi.
  4. Open the relay settings and set Auto-OFF to ~3 seconds, so one “on” buzzes the door then re-locks.
  5. Turn on Cloud for the device.
  6. From the Shelly app, collect three things: Cloud server (User Settings → Authorization cloud key, e.g. https://shelly-1-eu.shelly.cloud), Device ID (device → Device info), and Cloud auth key.
  7. Paste them into the fields below and tap Save door — it checks the Shelly is real before saving.
  8. Tap Test unlock to hear it click.

Door scanner

Open this on the device at your door · or scan the QR

Approved scanners

Devices allowed to scan · approve new requests here

Hardware reader

For a Raspberry Pi + USB card reader (ACR122U)
Keep this key secret — anything with it can open the door.
Tap passlet.py, then Copy and paste it into one file on your Pi. It already has your details filled in.
  1. Get the parts: a Raspberry Pi (Zero W, or Pi 4), the ACR122U NFC reader, an SD card, a fan to cool the Pi, a USB power supply, and 13.56 MHz NFC cards.
  2. Clip the fan onto the Pi.
  3. Set up the SD card with the free Raspberry Pi Imager app.
    Show me exactly how ▾
    1. Download and install — get it from raspberrypi.com/software, then install and open it.
    2. Insert your storage — put your SD card (or USB drive) into your computer.
    3. Choose your device — click "Choose Device" and pick your Raspberry Pi model (e.g. Pi 5, Pi 4). This helps it recommend compatible OS options.
    4. Choose the OS — click "Choose OS" and select an operating system. For most people, "Raspberry Pi OS (recommended)" at the top is the right pick.
    5. Choose storage — click "Choose Storage" and select your SD card. Double-check you're picking the right drive, since this erases everything on it.
    6. Edit settings (important) — click "Next", then edit settings. Preset your hostname, username/password, Wi-Fi network, and turn on SSH. This is essential for a headless setup (no monitor/keyboard).
    7. Write — click "Write", confirm the erase warning, and wait. It flashes the OS, then verifies it.
    8. Boot — when done, remove the card, put it in your Pi, and power it on.
  4. Put the SD card into the Pi.
  5. Plug the NFC reader into the Pi (any USB port).
  6. Plug the Pi into power to turn it on.
  7. Connect to the Pi & install the software.
    Show me exactly how ▾
    1. Open Terminal (Mac — how to open it) or PowerShell (Windows — how to open it). Both are already built into your computer.
    2. Connect to the Pi. Type this and press Enter (put the username you set in Imager in place of USERNAME): ssh USERNAME@raspberrypi.local If it asks "are you sure", type yes and press Enter. Then type your password (it stays hidden as you type) and press Enter.
    3. Install the software. Type each line, pressing Enter after each (enter your password if asked): sudo apt update && sudo apt install -y pcscd libpcsclite-dev swig python3-pip pip3 install pyscard requests --break-system-packages
    4. One-time reader fix. Type: sudo nano /etc/modprobe.d/blacklist-nfc.conf In the editor that opens, type these three lines: blacklist pn533 blacklist pn533_usb blacklist nfc Then save: press Ctrl+O, then Enter, then Ctrl+X.
    5. Restart the Pi. Type: sudo reboot Wait about a minute, then connect again with the same ssh line above.
  8. Put the file on the Pi.
    Show me exactly how ▾
    1. In this app: Hardware reader card → tap passlet.py → tap Copy.
    2. In your Pi window, type nano passlet.py and press Enter — a blank editor opens.
    3. Paste the file (Mac: Cmd+V · Windows PowerShell: right-click). The code fills in.
    4. Save it: press Ctrl+O then Enter. Close it: press Ctrl+X.
      Saving on a Mac? ▾
      Use the Control (⌃) key — not Command (⌘). So: ⌃O (the letter O, not zero) → Return → ⌃X. The ^O / ^X hints along the bottom of nano mean Control.
      Control keys not working? Save without nano ▾
      Skip nano completely: cat > passlet.py press Return, paste the whole file, press Return once, then press Control + D. That writes the file straight away.
  9. Use it: make a pass → Assign to a card, run python3 passlet.py manage and tap a card. Then run python3 passlet.py — tap an assigned card to open the door.
The README button has the exact commands and how to make it start on its own.

Door log

Scans at this space

Space password

Change the password for this space
PASSLET

Guest

Access pass
Show this at the door and scan to enter. Keep it private.