A two-factor authentication application for ESP32 (CYD - Cheap Yellow Display) using one-time password protocols.
# Setup environment, adapt it to your current path
. $HOME/.espressif/v5.5.3/esp-idf/export.sh
# Build and flash
idf.py build
idf.py -p /dev/ttyUSB0 flash monitorDocumentation README.md
All links are referred from this URL
- Official readme - This document
- Setup Guide - Build instructions, hardware pinout, architecture overview
- Installation guide - Installation guide, also distributed in the binary package
- Changelog - Project changelog
- Security recommendations - Never, ever, take security for granted in a OTP device. A deep analysis, project implementations and why you should pick this project among others. Security considerations or why you should prefer a FIPS compliant device if you work for a government institution instead.
- Display configuration reference - A mess to configure for a starter, a good reference later
- vscode setup - Nice to have setup guide for VisualStudioCode + Espressif SDK (ESP-IDF)
Platform: ESP32-WROOM-32 (CYD - Cheap Yellow Display)
- Display: 2.8" ILI9341 TFT (320x240, SPI)
- Touch: XPT2046 resistive (SPI)
- Additional: MicroSD, RGB LED, LDR
- ESP-IDF 5.5.3 (native Espressif framework, no Arduino)
- LVGL 8.3 (GUI library)
- FreeRTOS (real-time operating system)
Keymaker is dual-licensed:
- Open Source: For hobbyists, makers, and open-source projects, it is available under the GNU General Public License v3.0 (GPLv3).
- Commercial: For hardware vendors, sellers, or corporate integrations where GPLv3 compliance is not possible (e.g., closed-source proprietary products), a Commercial License IS required.
Please contact the creator of this repository [andreabenini] to discuss commercial licensing or to purchase a royalty-free license for your hardware.
This project is open-source and free to use. However, maintaining the codebase, fixing bugs, and
developing new features requires a significant investment of time and effort.
If this tool has saved you time, solved a problem, or helped your business, please consider supporting
its continued development. Your contributions help ensure the project remains active and sustainable!
- Star the repo to help others find the project
- Open an issue if you find a bug or have a feature request
- Spread the word by sharing the project with your network
