128×32 pixels with purpose
ZeroKeyUSB uses a white OLED panel (SSD1306 controller, I²C 400 kHz) with a 128×32 resolution.The firmware keeps the interface intentionally minimal: large typography, clear icons, and smooth transitions that remain legible even in low light.
Menu item | Purpose |
---|---|
Backup | Start the guided export of encrypted credentials. |
Settings | Configure device preferences such as brightness and PIN. |
TOTP | View time-based codes with large, legible typography. |
Danger Zone | Confirm destructive actions like factory reset or wipe. |
Info | Show firmware version, serial data, and support details. |
Rendering pipeline
- Frame buffer build – the application composes the entire screen in RAM using helper functions such as
draw_text()
,draw_icon()
, anddraw_progress()
. - Full-frame transfer – every refresh sends all 512 bytes to the OLED via I²C, ensuring consistent updates.
- Refresh pacing – a cooperative loop updates the display roughly 30 times per second, avoiding flicker while keeping CPU usage minimal.
Typography & icons
Asset | Format | Purpose |
---|---|---|
Main font | Custom 6×12 bitmap | Used for menus, lists, and info screens. |
Mono font | 8×12 bitmap | Optimized for passwords and 2FA codes. |
Icons | 16×16 sprites | Backup, settings, clock, warning, info. |
When displaying passwords or TOTP codes, the mono font avoids confusion between similar characters (
O
vs 0
, I
vs 1
).
Scrolling & focus
- Auto-scroll – long site names (over ≈ 8 characters) scroll horizontally at a steady pace.
- Focus highlight – the currently selected option is inverted, while others remain dimmed.
- Long-press feedback – a filling progress bar confirms destructive actions (factory reset, delete all).
Secure display practices
- Sensitive fields (passwords, TOTP codes) are masked by default and only revealed briefly when confirmed by touch.
- After typing credentials, the firmware clears the frame buffer to remove residual data from RAM.
- While connected to USB, the display remains active; it does not automatically lock or power off due to inactivity.
- The OLED never displays decrypted secrets for longer than a few seconds, even if the host is unresponsive.
Diagnostics view
A hidden diagnostic mode (used only in factory testing) shows I²C status, raw touch data, and firmware version.It is compiled out of production builds through a conditional flag to prevent debug information leaks.
The OLED sits behind a sealed resin window, providing excellent contrast and resistance to scratches, dust, and moisture.