My RP2350 MFA Key
Posted: 08/04/2026
What is an MFA Key?
An MFA (Multi-Factor Authentication) key is a hardware device that provides an additional layer of security for online accounts by generating time-based one-time passwords (TOTP) or using other authentication methods. These devices can be used for various purposes, from securing access to online services to locking down physical hardware when required.
Why & How I Built One
I built an MFA key mainly to protect my homelab from unauthorized access, however; I also wanted to build upon my skills and learn a bit of low-level tinkering in order to get this device compatible with the pico-fido firmware.
I saw the prices of official keys like the YubiKey and realized I could build one myself, and so I did. I came across the Waveshare RP2350-One board, a USB-A PCB with an RP2350 attached to it and decided that this device would be a good fit.
Once I got the device, I had learned that the pico-fido firmware was not fully compatible with the RP2350-One board. I had to map out the LED and user presence button out myself.
I decided to fork the base pico-fido firmware and manually map the GPIO myself using the prefs.h file and recompiling the UF2 firmware file.
When I finally got past compiler conflicts, I flashed the new firmware to the RP2350-One and tested it out. As of now, the device is fully functional and includes the following features:
- Flashes red when idle or authentication failed
- Flashes green when authentication is successful
- Flashes orange when receiving authentication requests/waiting for user interaction
- Pressing the user presence button (Onboard BOOTSEL button; Mapped to GPIO45) triggers the authentication process
If you would like to build one of these devices, I have linked my GitHub repo below with the modified pico-fido fw. Depending on how long it has been, the repo may be outdated but can prove useful to anyone looking to build on this device. As for the RP2350-One board, I have also linked the US Amazon listing for it below.
(DISCLAIMER: I am not affiliated with Waveshare, Amazon or the original pico-fido developer in any way, shape or form.)
Future Plans
Beyond just creating a backup, I would also like to design an attachment that allows you to directly click the MFA key in/out of a compartment attached to your wallet.
Images