Security is often a "black box" for most users. Commercial FIDO2 keys are great, but as an electronics engineer, I wanted to understand—and build—the hardware that protects our digital lives. I decided to create DongleSDK, a fully open-source FIDO2 security key that gives the power back to the user.
How It WorksThe heart of the project is the STM32L432KC microcontroller. I chose this chip for its excellent power efficiency and robust security features. The system operates on a challenge-response mechanism:
Hardware: A compact USB form factor designed for portability.
- Hardware: A compact USB form factor designed for portability.
Encryption: I implemented AES-256 to ensure that the communication between the key and the host is virtually unhackable.
- Encryption: I implemented AES-256 to ensure that the communication between the key and the host is virtually unhackable.
SDK & Integration: To make the hardware useful, I developed a custom C# SDK (DongleSDK). This allows any Windows-based application to interact with the key seamlessly via a dedicated Windows Forms interface.
- SDK & Integration: To make the hardware useful, I developed a custom C# SDK (DongleSDK). This allows any Windows-based application to interact with the key seamlessly via a dedicated Windows Forms interface.
Building this wasn't just about the code. I used FreeCAD to design a custom, 3D-printable enclosure that protects the electronics while keeping a slim profile.
Firmware: Developed in C/C++ specifically for the STM32 architecture.
- Firmware: Developed in C/C++ specifically for the STM32 architecture.
Hardware: Prototyped on a breadboard before moving to a custom PCB layout.
- Hardware: Prototyped on a breadboard before moving to a custom PCB layout.
Enclosure: Multiple iterations in FreeCAD to get the perfect fit for the USB connector.
- Enclosure: Multiple iterations in FreeCAD to get the perfect fit for the USB connector.
The goal of this project is to provide a blueprint for others to build their own security hardware. Whether you are a student learning about cryptography or a developer looking for a secure authentication layer, this project provides the tools you need.







Comments