ESP32-HWOTP is a hardware-based One-Time Password (OTP) generator built on the ESP32 platform. It features a color LCD, trackball navigation, and real-time clock, supporting multiple OTP apps and Wi-Fi configuration.
- ESP32-WROVER (Recommended: 16MB FLASH / 4MB or 8MB PSRAM)
- ST7789(V) SPI LCD (135x240)
- BB Arduino Trackball
- DS3231 RTC
- 3.7v battery
- DC-DC Buck converter, charger, etc.
- Multiple time-based OTP apps
- App selection via trackball
- Add new OTP secrets via Wi-Fi
- Update RTC time via Wi-Fi
src/- Main source code (core logic, network, storage, UI)data/- Database and web assets for Wi-Fi configurationassets/- Hardware reference images and prototype photosprototype/- PCB schematics and designs (EasyEDA format)include/,lib/- Additional headers and librariesplatformio.ini- PlatformIO build configuration
- Hardware Setup: Assemble ESP32-WROVER, LCD, trackball, RTC, and power components.
- PCB Design: Use the provided EasyEDA files in
prototype/folder for PCB fabrication. - Software Build: Use PlatformIO to build and upload firmware.
- Wi-Fi Configuration: Connect to device AP, access web UI to add OTP secrets and set RTC time.
The prototype/ folder contains:
- Schematic:
1-Schematic_ESP32-HW-OTP-NEW.json- Circuit schematic in EasyEDA format - PCB Layout:
1-PCB_PCB_ESP32-HW-OTP-NEW.json- PCB design in EasyEDA format
To open these files:
- Go to EasyEDA Editor
- File → Open → EasyEDA...
- Select the JSON file to import the design
- Use the trackball to select OTP apps.
- Add new secrets and update time via the built-in Wi-Fi web interface.











