Skip to main content

Simple control, powerful features

ZeroKeyUSB has no buttons, no apps, and no hidden menus — only five golden touch points that control everything.
The menu becomes accessible after entering your Master PIN by scrolling past the last credential slot.


GestureAction
Up ↑Move selection up (wraps to bottom)
Down ↓Move selection down (wraps to top)
Center ●Select / Execute the highlighted item
Left ←Go back to parent menu or exit to credentials
Right →Exit menu, jump to credential slot 0
When a menu has more items than fit on the 4-row display, a scrollbar with thumb appears on the right edge. The selection stays visible as you scroll.

🔁 Backup

ItemAction
ImportReceives credentials from the host via USB serial (CDC). Device shows “Waiting for data from the web app.”
ExportSends all 62 credential slots as plaintext CSV over USB serial. Requires long-press Center authorization.
The export/import flow shows an authorization prompt before transferring any data:
Export sends plaintext credentials over USB serial. Only perform this on a trusted computer.

⚙️ Settings

ItemAction
Rotate ScreenFlips the display 180° for left/right-handed use. Also inverts touch controls. Saved in EEPROM.
Keyboard: XX-XXCycles through 9 keyboard layouts (EN-US → DA-DK → DE-DE → ES-ES → FR-FR → HU-HU → IT-IT → PT-PT → SV-SE → EN-US). Saved in EEPROM.
AboutShows device info: SW version, serial number, and zerokeyusb.com.

⏱️ TOTP

TOTP is accessed from the credential view, not the main menu. When viewing a credential, scroll Down past Password to the 2FA field:
  • If no TOTP secret exists for that slot → shows “No TOTP secret” for 2 seconds.
  • If time is not synced → shows “Time not set — Request host time” and sends REQTIME over serial.
  • If ready → displays a 6-digit code with a 30-second countdown timer. Refreshes automatically each period. Touch any pad to return.

⚠️ Danger Zone

Every action in this section shows a confirmation page that requires pressing Center to proceed or Left to cancel:
ItemEffectReversible?
Reset PINEnters the PIN change screen (EDITPIN). New PIN + re-provisioning.Partial — old credentials remain if same AES key
Delete CredentialsCalls eraseAll(): 3-second countdown, then writes encrypted blanks to all 62 slots + clears TOTP metadata.❌ No
Factory ResetResets config flag to 0x00 + erases all credentials. Next boot starts the setup wizard.❌ No
Bootloader ModeSets double-reset magic word (0xF01669EF at 0x20007FFC), then issues NVIC_SystemReset(). Device reboots into USB DFU bootloader for firmware flashing.✅ Yes (reflash)

ℹ️ Info

Read-only submenu showing:
  • SW: x.x.x — firmware version from zerokeyInfo::getSoftwareVersion()
  • SN: XXXXXXXX — hardware serial from the SAMD21 unique ID registers

Setup wizard

The setup wizard runs on first boot (or after factory reset). It consists of 10 internal pages across 9 visible steps: Pages with more than 4 lines of text are vertically scrollable using Up/Down. A scrollbar with thumb appears on the right edge. Each wizard page supports:
  • Right → advance to next page
  • Left → go back to previous page
  • Center → action (toggle orientation, change layout, start PIN entry)
  • Up/Down → scroll content

Design philosophy

The menu system is intentionally minimalist:
  • No deep submenus — every option is two taps away from the main menu.
  • All destructive actions require explicit Center confirmation on a dedicated page.
  • Layout and gestures remain consistent across firmware versions.
  • Menu items dynamically update their labels (e.g., keyboard layout shows current selection).
ZeroKeyUSB requires no drivers or software installation.
It’s recognized as a standard USB keyboard on any operating system.