Devolent Apps

Blippstation

Turns a Raspberry Pi and an RFID reader into a card-scan station that posts every tap to your endpoint, e.g. ServiceNow

About

Blippstation turns a Raspberry Pi and a USB RFID/NFC reader into a card-scan station. Every card tap is decoded on the Pi and posted as a JSON request to your HTTP endpoint (for example a ServiceNow Scripted REST API), authenticated with OAuth2 client credentials.

card tap → reader (USB HID keyboard) → blippstation daemon on the Pi
        → OAuth token (cached) → POST {"uid","station","scanned_at"} → your endpoint

The downloads on this page are Blippstation Flasher, the desktop app that writes a ready-to-boot SD card for the Pi. The card carries the operating system, the network settings you enter and the Blippstation software itself — nothing has to be installed on the Pi by hand.

What you need

  • A Raspberry Pi (tested on a Pi 5) with a microSD card and a power supply.
  • A card reader in HID keyboard mode — it enumerates as a USB keyboard and "types" the card ID followed by Enter. Built and tested with an ELATEC TWN4.
  • A Windows, macOS or Linux computer with an SD-card slot or USB card reader to run the flasher on.
  • Network for the Pi: Ethernet or Wi-Fi, with internet access at least during the first boot.
  • An endpoint that accepts the scan, and an OAuth2 client (ID and secret) for the client-credentials grant.

Reader firmware

A new TWN4 reader must be flashed with ELATEC's Standard Keyboard firmware before it works with Blippstation; out of the box it may emit a different UID format and no trailing Enter. Flash it with AppBlaster from the ELATEC TWN4 DevPack (Windows only), using TWN4_xKx520_STD207_Multi_Keyboard_Standard.bix from the DevPack's firmware/ directory.

Install the flasher

Platform Install
Windows 10/11 (x64) Run Blippstation.Flasher_<version>_x64_en-US.msi and accept the licence. It installs for all users and asks for administrator rights; if you have 0.3.x, uninstall that first
macOS (Apple Silicon) Open Blippstation.Flasher_<version>_aarch64.dmg, agree to the licence and drag the app to Applications
Ubuntu / Debian sudo apt install ./Blippstation.Flasher_<version>_amd64.deb
Arch Linux sudo pacman -U blippstation-flasher-<version>-1-x86_64.pkg.tar.zst

The installers are signed by Devolent AB (since 0.4.0):

  • macOS: the app is notarized by Apple and opens without a warning.
  • Windows: the MSI and the app are signed, so the administrator prompt (writing a raw disk needs it) names Devolent AB. While an installer is new, SmartScreen may still ask once: choose More info → Run anyway. Coming from 0.3.x, uninstall it first (Settings → Apps → Blippstation Flasher → Uninstall), then run the MSI. IT can deploy the MSI with msiexec /i <file>.msi /qn.
  • macOS and Linux: the app runs unprivileged and asks for authorization only when the write starts (macOS: the system dialog; Linux: a PolicyKit prompt).

Prefer the terminal? The command-line flasher is the same wizard without a window, packaged for Ubuntu/Debian and Arch as blippstation-flasher-cli; it installs next to the desktop app and is started as blippstation-flash. --list prints the available image versions, --device and --image skip the menus. No sudo needed: opening the target disk prompts for authorization by itself (on a system without polkit, set BLIPPSTATION_ELEVATOR=sudo).

Make a card

  1. Start the flasher and pick an Ubuntu Server image version for the Pi.
  2. Pick the target SD card. Only removable disks are offered, the disk holding your running system is never listed, and the write starts only after you type the device name back.
  3. Enter a hostname, and optionally Wi-Fi (the flasher scans nearby networks where the OS allows it, checks the passphrase against the WPA rules, and on Linux can verify it by briefly joining the network), a static IP (DHCP is the default) and SSH public keys.
  4. The flasher downloads the image (cached per user, checksum-verified), writes it, and drops the first-boot configuration and the Blippstation binary on the boot partition.

Before the Pi ever boots, the flasher shows the setup URL with its access token and saves the same information on the card as blippstation-info.txt. Keep it — you need the URL in the next step.

First boot and setup

Put the card in the Pi, attach the reader and power it on. On first boot the Pi installs Blippstation and starts the setup console, reachable as http://<hostname>.local:8787 (.local discovery needs internet once during the first boot; without it, look the Pi's IP up in your router). Open the URL from the flasher — the ?k= access token is required — and:

  1. Confirm the reader shows detected.
  2. Tap a card to test and check the decoded UID looks right.
  3. Fill in Endpoint URL, OAuth token URL, Client ID / Secret and Station ID (and Scope if your provider needs one).
  4. Test token — confirms the OAuth credentials work.
  5. Install / update service — installs and starts the daemon, enabled on boot. The setup console shuts down and never starts again.
  6. Tap a card and confirm it arrives at your endpoint.

Rescue login on the Pi: ubuntu / blippstation. The first login (on the console, or over SSH with one of the embedded keys) prompts for a new password. SSH password login is disabled — only an embedded key works.

What gets sent

Each scan is one POST with Content-Type: application/json and an Authorization: Bearer <token> header:

{ "uid": "0123456789", "station": "reception-1", "scanned_at": "2026-05-27T17:24:49Z" }

The three keys can be renamed under Advanced in the setup console; the timestamp is RFC 3339 UTC. The token comes from the OAuth2 client-credentials grant, is cached in memory and refreshed about 30 seconds before it expires; a 401 from the endpoint triggers one retry with a fresh token.

Delivery is best-effort: each scan is attempted once and, on failure, logged and dropped. A scan during a network or endpoint outage is lost.

Operating the station

On the Pi, over SSH or on the console:

systemctl status blippstation
journalctl -u blippstation -f      # one `posted uid="..."` line per scan, or the error
sudo blippstation uninstall        # stop and purge service, config, binary and user

The service runs as the unprivileged blippstation user, the configuration including the client secret lives in /etc/blippstation/config.json readable only by root and the service, and the daemon holds the reader exclusively so card data cannot leak into any other program.

Troubleshooting

  • Reader not detected — confirm it is in HID keyboard mode (lsusb shows 09d8:0410). For a different reader, set its USB vendor and product ID under Advanced.
  • Test scan fails while the service is running — expected; the daemon holds the reader exclusively. Stop it with sudo systemctl stop blippstation, or test before installing.
  • UID decodes incorrectly — the decoder assumes a US keyboard layout. Use Debug — raw key dump in the console and send the output to support@devolent.com.

Version history

Sign in to download. Accounts are created by Devolent for customers — no self-service signup.

0.5.0 latest
Oct 31, 2026 · 6 files
  • A licence: Blippstation is free to use, also commercially, and may not be passed on outside the organisation that got it. You accept it here before downloading, and the MSI and the dmg ask too.
  • Licence and notices are now in the flasher's footer, on the Pi's setup page and in both command-line tools, with the licences of the open-source components. Every package installs them.
  • The MSI installs over 0.4.0. If you still have 0.3.x, uninstall it first (Settings → Apps → Blippstation Flasher → Uninstall).
  • Flashing and scanning work as before, and cards made with 0.4.0 keep working.
  • Windows installer (MSI)

    Blippstation.Flasher_0.5.0_x64_en-US.msi

    5.6 MB sha256 f37f8d79…92848d32
  • macOS (Apple Silicon)

    Blippstation.Flasher_0.5.0_aarch64.dmg

    5.3 MB sha256 e57fe16d…9de69da5
  • Ubuntu / Debian (deb)

    Blippstation.Flasher_0.5.0_amd64.deb

    5.3 MB sha256 46bf4548…b4fd9e12
  • Arch Linux package

    blippstation-flasher-0.5.0-1-x86_64.pkg.tar.zst

    5.0 MB sha256 9e857ced…6f14bb02
  • Command-line flasher, Ubuntu / Debian (deb)

    blippstation-flasher-cli_0.5.0_amd64.deb

    2.2 MB sha256 33908a3d…f1e8693a
  • Command-line flasher, Arch Linux package

    blippstation-flasher-cli-0.5.0-1-x86_64.pkg.tar.zst

    3.3 MB sha256 a266d4e6…f1383618
0.4.0
Oct 29, 2026 · 6 files
  • Signed installers: the macOS app is signed and notarized by Apple, and the Windows installer and app are signed by Devolent AB. No more Open Anyway on macOS; Windows' admin prompt names Devolent AB.
  • Windows now gets an MSI instead of the setup exe. It installs for all users and asks for administrator rights. If you have 0.3.x, uninstall it first (Settings → Apps → Blippstation Flasher → Uninstall), then run the MSI.
  • The flasher, the command-line flasher and the software on the Pi work as before; cards made with 0.3.x keep working.
  • Windows installer (MSI)

    Blippstation.Flasher_0.4.0_x64_en-US.msi

    5.5 MB sha256 13ba06a1…4db33990
  • macOS (Apple Silicon)

    Blippstation.Flasher_0.4.0_aarch64.dmg

    5.2 MB sha256 a1d03dbc…10a9b12e
  • Ubuntu / Debian (deb)

    Blippstation.Flasher_0.4.0_amd64.deb

    5.1 MB sha256 3979bd22…db86d44d
  • Arch Linux package

    blippstation-flasher-0.4.0-1-x86_64.pkg.tar.zst

    4.9 MB sha256 40d25032…8e05851a
  • Command-line flasher, Ubuntu / Debian (deb)

    blippstation-flasher-cli_0.4.0_amd64.deb

    2.2 MB sha256 abbb4409…abee5298
  • Command-line flasher, Arch Linux package

    blippstation-flasher-cli-0.4.0-1-x86_64.pkg.tar.zst

    3.2 MB sha256 16a112d3…435b8593
0.3.2
Sep 9, 2026 · 6 files

The setup console on the Pi no longer hides what it is doing. The flasher itself, the command-line flasher and the card-reading daemon are unchanged; the installers are rebuilt so the Pi binary they write carries the new page.

  • Each action prints where you pressed it. Test token and Install / update service used to write their result to a console at the very bottom of the setup page, well below the buttons — from the form, both looked like nothing had happened. Their output now appears in the same card as the buttons. Uninstall / purge prints in the Danger Zone, and the raw key dump prints inside its own Debug panel.
  • No more empty console. A section's log appears when it has something to say, so the page no longer opens on a black box reading "awaiting commands".
  • Tapping a card is unchanged — the scan panel already showed waiting → UID captured → scan failed, so it no longer repeats itself into a log as well.
  • A setup server that has gone away now says so in the banner at the top of the page, with the other page-wide warnings.
  • The Debug panel's note pointed at a source file that no longer exists; it now names the right one.

A card flashed with 0.3.1 or earlier keeps serving the old page — the setup console is part of the Pi binary, so re-flash the card with this version to get it.

  • Windows installer

    Blippstation.Flasher_0.3.2_x64-setup.exe

    3.7 MB sha256 9dd4ff68…a7d3b27d
  • macOS (Apple Silicon)

    Blippstation.Flasher_0.3.2_aarch64.dmg

    5.2 MB sha256 691055d0…d41efa15
  • Ubuntu / Debian (deb)

    Blippstation.Flasher_0.3.2_amd64.deb

    5.1 MB sha256 4b6253f8…431ab049
  • Arch Linux package

    blippstation-flasher-0.3.2-1-x86_64.pkg.tar.zst

    4.9 MB sha256 7b9ed6e3…19ebb908
  • Command-line flasher, Ubuntu / Debian (deb)

    blippstation-flasher-cli_0.3.2_amd64.deb

    2.2 MB sha256 febb39eb…627d3b83
  • Command-line flasher, Arch Linux package

    blippstation-flasher-cli-0.3.2-1-x86_64.pkg.tar.zst

    3.2 MB sha256 ae08ae4c…b80d9960
0.3.1
Sep 4, 2026 · 6 files
  • The Pi's setup console gets the same branding as the flasher: the Blippstation emblem beside the name, a "setup console" subtitle, a one-line footer and the app icon as the browser-tab favicon.
  • The flasher app, the command-line flasher and the daemon are otherwise unchanged; the installers are rebuilt so the Pi binary they carry serves the new page.
  • Cards flashed with 0.3.0 keep the old console page — flash a card with this release to get the new one.
  • Windows installer

    Blippstation.Flasher_0.3.1_x64-setup.exe

    3.7 MB sha256 56913486…a7e4f6f6
  • macOS (Apple Silicon)

    Blippstation.Flasher_0.3.1_aarch64.dmg

    5.2 MB sha256 88bfb74d…ecb7b6a8
  • Ubuntu / Debian (deb)

    Blippstation.Flasher_0.3.1_amd64.deb

    5.1 MB sha256 760ae2ac…391f368b
  • Arch Linux package

    blippstation-flasher-0.3.1-1-x86_64.pkg.tar.zst

    4.9 MB sha256 355e4fda…d240ce21
  • Command-line flasher, Ubuntu / Debian (deb)

    blippstation-flasher-cli_0.3.1_amd64.deb

    2.2 MB sha256 1fc8c751…7ae71599
  • Command-line flasher, Arch Linux package

    blippstation-flasher-cli-0.3.1-1-x86_64.pkg.tar.zst

    3.2 MB sha256 ba745093…735c89f7
Latest release
v0.5.0 Oct 31, 2026
  • Windows installer (MSI) Blippstation.Flasher_0.5.0_x64_en-US.msi · 5.6 MB
  • macOS (Apple Silicon) Blippstation.Flasher_0.5.0_aarch64.dmg · 5.3 MB
  • Ubuntu / Debian (deb) Blippstation.Flasher_0.5.0_amd64.deb · 5.3 MB
  • Arch Linux package blippstation-flasher-0.5.0-1-x86_64.pkg.tar.zst · 5.0 MB
  • Command-line flasher, Ubuntu / Debian (deb) blippstation-flasher-cli_0.5.0_amd64.deb · 2.2 MB
  • Command-line flasher, Arch Linux package blippstation-flasher-cli-0.5.0-1-x86_64.pkg.tar.zst · 3.3 MB
Sign in to download Licence