Close

Firmware 0.6.1, a V1.1 board on order, and the next security chapter

A project log for EvilKey: I Needed a FIDO2 Key. Then the Maker Brain Took Over.

ESP32-S3 FIDO2 prototype: touch AMOLED, microSD apps, HID scripts, USB/BLE AirMouse and an IMU BLE Gamepad. A key that got carried away.

michal-wojciechowskiMichal Wojciechowski • 10/06/2026 at 10:27•0 Comments

EvilKey started because I needed a FIDO2 key. It now has games, a BLE gamepad and an air mouse. I’m attempting the unfamiliar discipline of finishing something before giving it another menu.

Firmware 0.6.1 is available, with matching Apps/Settings ring animations and the existing ABI v4 app interface. The release image has been installed and checked on my Waveshare ESP32-S3-Touch-AMOLED-1.64 V1.0 prototype.

I’ve ordered the V1.1 revision to extend compatibility. Once it arrives, I’ll check the display, touch, IMU, microSD and USB/FIDO behavior, along with the existing BLE roles. Until those checks are complete, V1.1 remains an upcoming test target.

The development firmware is approaching feature finalization. The immediate focus is stability, compatibility and cleaning up the remaining rough edges.

After that comes the next planned EvilKey version: eFuse/HMAC-backed protection for key storage and Secure Boot for signed firmware verification. Provisioning, migration of existing credentials and the update process will need their own implementation and hardware validation.

The current release remains development firmware without those protections enabled. I’ll publish the implementation and test results as that work progresses.

Interesting extension ideas are still welcome—especially practical experience with V1.1 hardware or ESP32-S3 provisioning.

Firmware 0.6.1 and source

Discussions