solokeys/solo1
FreeSolo 1 firmware in C
About solokeys/solo1
Solo 1 firmware is the open-source implementation for SoloKeys' first-generation security key. It supports FIDO2 and U2F authentication standards (CTAP2 and CTAP) over USB and NFC, providing strong two-factor authentication and password-less login. The firmware is written in C, runs on the STM32L432 microcontroller, and is designed to be easily ported to other hardware. For development, it can run as a standalone application on Windows, Linux, and macOS without any hardware. It includes hardware-backed security features such as true random number generation, secure isolation, and flash protection. A special 'Solo for Hacker' variant allows users to customize the firmware, including changing LED colors and building advanced applications.
Key Features
Pros & Cons
- Fully open source with permissive licensing (MIT/Apache 2.0)
- No hardware required for development – runs as a desktop app
- Supports both FIDO2 and legacy U2F protocols
- Hardware-backed security features (TRNG, isolation, flash protection)
- Active community and multilingual guides
- Customizable Hacker version for advanced users
- Solo for Hacker variant is not secure for production use – physical access can compromise it
- Firmware is specific to Solo v1 hardware; Solo v2 is a separate product
- Requires embedded development knowledge for porting or customization
- Limited memory (256 KB) may constrain complex additional features