Welcome to ZeroKeyUSB
ZeroKeyUSB arrives ready to use — fully offline, preloaded with stable firmware and tested hardware.If you assembled or flashed your own unit, follow the same setup wizard after installation. When powered for the first time, the device will guide you through a one-time initialization process.
Step 1: Power on and initialization
Connect ZeroKeyUSB
Connect ZeroKeyUSB
Plug your device into any USB-C port on your computer, tablet, or phone.
ZeroKeyUSB is powered entirely by the USB connection — it has no internal battery.
ZeroKeyUSB is powered entirely by the USB connection — it has no internal battery.
Automatic startup
Automatic startup
On first power-up, ZeroKeyUSB automatically initializes:
- The OLED display (128×32 pixels, monochrome)
- The touch controller TS06 (five golden touch sensors)
- The secure EEPROM (M24C64-WMN6TP)
- Generates a new AES-128 initialization vector (IV) if none is found in EEPROM
- Reads the hardware serial number from the SAMD21 unique ID registers
Step 2: Create your Master PIN
Enter your new PIN
Enter your new PIN
Use the five golden touch dots to navigate the setup screens:
This PIN acts directly as the AES-128 encryption key — all stored credentials are protected by it.
- Right → Continue
- Left → Go back
- Up / Down → Change digit
- Center → Confirm
This PIN acts directly as the AES-128 encryption key — all stored credentials are protected by it.
Security behind your PIN
Security behind your PIN
Your PIN is used to:
- Derive the AES-128 key that encrypts all credentials
- Create a unique signature stored in EEPROM (verified on each unlock)
- Reject incorrect PIN entries but allow unlimited retries
ZeroKeyUSB never stores or transmits your PIN in plain text.
Step 3: Store your credentials
Add a new credential
Add a new credential
After unlocking, you’ll see the main screen with three fields:Each credential is divided into three encrypted EEPROM pages:
Long fields automatically scroll on the OLED display.
- Site name (32 bytes)
- Username (32 bytes)
- Password (32 bytes)
Long fields automatically scroll on the OLED display.
Navigation controls
Navigation controls
Auto-type your credentials
Auto-type your credentials
When you select a site and press Center, ZeroKeyUSB acts as a USB keyboard and types:
For non-US layouts, you may need to adjust special characters on the host system.
- Your username (expanding automatically if it ends with
@
) - A Tab key
- Your password
For non-US layouts, you may need to adjust special characters on the host system.
Step 4: (Optional) Add a 2FA secret
Offline TOTP generator
Offline TOTP generator
ZeroKeyUSB can generate Time-based One-Time Passwords (TOTP) completely offline.
You can import a Base32-encoded TOTP secret via the local web manager (see the TOTP documentation for details).
You can import a Base32-encoded TOTP secret via the local web manager (see the TOTP documentation for details).
Display 2FA codes
Display 2FA codes
From the main screen, scroll down to “2FA” if a secret exists.
If the device displays
Send the host time once via the web manager — the value will be saved in EEPROM and reused until a new sync is performed.
If the device displays
REQTIME
, it is requesting the current epoch time.Send the host time once via the web manager — the value will be saved in EEPROM and reused until a new sync is performed.
Step 5: Backup and maintenance
Backup your data
Backup your data
From the Menu → Backup → Export, ZeroKeyUSB can send all credentials over the USB serial interface in CSV format.
Data is transmitted in plain text, so handle backups securely and keep them offline. You can later re-import them through the web manager’s restore option.
Data is transmitted in plain text, so handle backups securely and keep them offline. You can later re-import them through the web manager’s restore option.
Factory reset
Factory reset
To wipe the device completely:
- Enter Menu → ⚠️ Danger Zone → Factory Reset
- All credentials, TOTP secrets, and the PIN signature will be erased
- The device will restart in initial setup mode
This action cannot be undone. Make sure you have a backup first.
Next steps
Hardware Overview
Understand the main components: SAMD21 MCU, M24C64-W EEPROM, and TS06 touch controller.
Security Core
Explore how AES-128 encryption, IV generation, and signature verification keep your data safe.
Display & Menu System
Learn how the interface, icons, and scrolling animations are implemented in firmware.
TOTP Module
See how offline time-based codes are calculated and stored securely.
ZeroKeyUSB works on any operating system that supports standard USB keyboards.
No drivers, extensions, or software installations are required.
No drivers, extensions, or software installations are required.