ZeroKeyUSB can generate TOTP codes (RFC 6238) fully offline — the same ones you’d see in Google Authenticator, without a phone. This guide covers the usage flow. To add a TOTP secret to a credential, see Importing credentials.Documentation Index
Fetch the complete documentation index at: https://docs.zerokeyusb.com/llms.txt
Use this file to discover all available pages before exploring further.
Before you start: the credential must have a TOTP secret loaded (in the
2FA field). If you see 2FA -- on screen, it doesn’t have one. Load the secret from the web manager or over USB-CDC first.Step 1 — Navigate to the 2FA field
From the credential’s main screen, press Down until you reach the 2FA field. The icon switches from padlock (Pass) to key (2FA). If the credential has a secret loaded, you’ll see2FA (OK). Otherwise, 2FA --.
Step 2 — Enter the date (first time per session)
The ATECC608A has no RTC. It needs date and time just once per session (between power cycles). The device asks for the date first inDD/MM/YY format.
| Button | Action |
|---|---|
| Up/Down | Increase/decrease the current digit (0–9) |
| Left/Right | Move the cursor between digits (skipping the /) |
| Center | Confirm the date and move to the time |
Step 3 — Enter the time
Same flow, now inHH:MM (24h local time) format.
Step 4 — View the TOTP code
After entering date and time, the ATECC608A computes HMAC-SHA1 of secret + epoch/30 and shows the resulting 6 digits. The bottom bar empties as the 30-second window approaches its end.If the countdown reaches 0 before you confirm, the code regenerates automatically — you don’t have to re-enter the time.
Step 5 — Subsequent codes in the same session
While the device stays plugged in, you won’t have to re-enter date and time. The next time you enter a 2FA field (in any credential), you jump straight to step 4 with a code computed using the current time.Quick reference
| Screen | Useful buttons |
|---|---|
2FA (OK) field | Center → enter TOTP flow |
2FA -- field | (no secret loaded, nothing to do) |
| Enter date | Up/Down: digit · Left/Right: cursor · Center: confirm |
| Enter time | Same as date |
| View code | Center: type to host · Left: exit |
Next steps
Import TOTP secrets
How to load the Base32 secret from your service into a credential.
Create your first credential
If you don’t have credentials with TOTP yet, start by creating one.