A WIRELESS FINGERPRINT SCANNER, BUILT FROM SCRATCH
A keychain-sized wireless fingerprint key that unlocks your Mac, Windows or Linux desktop and approves sudo without typing a password.
Open-hardwareAutomation
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- BUSL-1.1
- repo
- repo ACTIVE23 stars
●●●●○ · a weekend-plus · BUSL-1.1 · 23 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
immurok is a keychain-sized wireless fingerprint key built around a WCH CH592F RISC-V Bluetooth LE microcontroller and an R559S capacitive fingerprint sensor. It advertises as a standard BLE HID keyboard so the computer keeps it connected, while the real traffic runs over an encrypted custom GATT service: ECDH P-256 pairing, then an HMAC-SHA256 signed message for every touch. Matching happens on the sensor itself, so no biometric data reaches the computer. Companion apps cover macOS (menu bar app plus PAM), Linux (Rust daemon and CLI plus PAM) and Windows (Credential Provider), and the device also works as a hardware SSH agent. Unlike most write-ups, this one is well documented: firmware source, OTA bootloader, a full schematic PDF, PCB renders, a pinout and a protocol and security spec are all on GitHub. What is missing for a from-scratch build is the PCB layout source, which the creator plans to release after the Kickstarter campaign, and a standalone parts list. Note the licence: firmware and hardware are BSL 1.1, fine for personal use but not for selling your own units until it converts to Apache 2.0 in 2030. If you just want one, the creator sells pre-orders on immurok.com.
IN THE REPO
GOOD TO KNOW
- —Firmware source (C, Makefile) and OTA bootloader are public on GitHub.
- —The hardware repository has a full schematic PDF (HW V7), PCB renders, pinout and component selection notes; PCB layout source is to be released after the Kickstarter campaign.
- —No standalone parts list file; the key parts (CH592F, R559S, BQ21040 charger, XC6206 LDO, 110 mAh LiPo) are named in the hardware README and schematic.
- —Companion apps for macOS, Linux and Windows are open source under Apache 2.0.
- —Firmware and hardware are licensed BSL 1.1 (non-commercial use only), converting to Apache 2.0 on 2030-03-05.
- —No enclosure CAD files are published.
Parts to buy
6 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
immurok Linux app demostration: a Touch ID like wireless fingerprint auth key for all
Official demo of the Linux companion app from the immurok YouTube channel.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the main repository to understand the architecture (Overview, repository map, BLE protocol and security docs)
- 2.Study the hardware design and source the CH592F and R559S (Schematic PDF, PCB renders, pinout and why each part was chosen)
- 3.Build and flash the firmware (Needs the WCH RISC-V GCC toolchain, CH592 EVT SDK and your own OTA keys)
- 4.Install the companion app and set up PAM or the Windows Credential Provider (Or app-macos / app-win for the other platforms)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
- Hardware: schematic, PCB renders, component selection github.com
- Firmware (CH592F, C) github.com
- macOS companion app github.com
- Linux companion daemon and CLI (Rust) github.com
- Windows companion app github.com
- Hackaday.io project page hackaday.io
- Hackaday article hackaday.com
- Official website immurok.com
- Official Linux app demo video youtube.com
KNOWN ISSUES
- The PCB layout source files are not released yet, only renders and the schematic PDF, so you would have to lay out the board yourself from the schematic.
- The firmware needs the WCH RISC-V GCC toolchain and the CH592 EVT SDK, plus wchisp or a WCH-LinkE for flashing. That is less familiar than Arduino or PlatformIO.
- You must generate your own OTA keys before the first build. Firmware signed with self-generated keys will not update a retail device running official firmware.
- The device runs on a small LiPo cell. Use the charger design from the schematic (BQ21040 with an NTC thermistor) and do not skip the thermal protection.
- The BLE stack is a closed binary library from WCH; only the application layer is open source.
- BSL 1.1 forbids commercial use of the firmware and hardware design, so building units to sell is not allowed until 2030.
Is there a repository with the code and schematics?
Yes. The immurok GitHub organization has separate repositories for the firmware, the OTA bootloader, the hardware (a schematic PDF, PCB renders and a component write-up), and the macOS, Linux and Windows companion apps. The PCB layout source files are not released yet; the hardware README says they will follow after the Kickstarter campaign.
What licence is it under?
The firmware, hardware and core project are under the Business Source License 1.1. Personal, educational and non-commercial research use is allowed, commercial use is not, and the licence converts to Apache 2.0 on 2030-03-05. The macOS, Linux (Rust) and Windows companion apps are Apache 2.0.
Does this work with Windows?
Yes. Besides the macOS and Linux apps there is a Windows companion app with a native Credential Provider for Windows login. sudo and PAM integration applies to macOS and Linux.
How does the computer know to trust the fingerprint device?
The device and the companion app pair with an ECDH P-256 key exchange. Each touch produces an HMAC-SHA256 signed notification over a custom BLE GATT service, which the app verifies before typing the password, answering the PAM challenge or signing an SSH request. The fingerprint template stays inside the R559S sensor. The full protocol and security model are documented in the main repository.
Can I use a different fingerprint sensor?
The firmware is written for the R559S, which talks UART and does enrollment and matching on the module itself. Swapping it would mean porting the sensor driver, and you should pick a module that also matches on-device so no biometric data reaches the MCU.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
immurok matches the fingerprint on the sensor and only sends a signed approval over Bluetooth. Would you trust a device like this for sudo and screen unlock, or stick with typing the password?
superdog (immurok)
superdog, posting on Hackaday.io, built immurok as a wireless fingerprint key for people who use external keyboards, Mac desktops, Linux machines and terminal-heavy workflows, where repeated password prompts for sudo and login break the flow. The project is published under the immurok GitHub organization and is also being prepared as a commercial product.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM1d ago
Practical notes from our verification: this project is far better documented than the Hackaday article suggests. The GitHub organization has the firmware, the OTA bootloader, the schematic and companion apps for all three desktop systems. The one real gap is the PCB layout source, which is promised after the Kickstarter. Check the licence before you build: BSL 1.1 means personal use is fine, selling units is not.