WebAuthn noticeably slower on ESP32-S3 compared to Raspberry Pi Pico #192

Open
opened 2025-10-12 18:07:57 +08:00 by Kyhze · 3 comments
Kyhze commented 2025-10-12 18:07:57 +08:00 (Migrated from github.com)

Hi,

I have an ESP32-S3-DevKitC-1-N16R8 and I noticed WebAuthn interactions were much slower with it compared to my RPi Pico (RP2040).

By interactions, I mean:
-How long it takes for the web browser/OS to find it and prompt for PIN/button press
-How long it takes to validate the PIN

I also noticed it is kinda slow to react in the Yubico Authenticator app as well.

I have set the VID/PID as a YubiKey 5A. Nothing special, just flashed it with Pico FIDO 6.6, and initialized it to wipe everything. No Secure Boot, No Secure Lock. The Product Name is set to Yubico YubiKey.

Everything works correctly, but it's noticeably slower in executing WebAuthn commands. Everything takes about 2-3 seconds, whereas the Raspberry Pico is <1s. And a genuine YubiKey 5 is nearly instant (of course, a real YK is always gonna be faster).

Is this normal? I would have imagined that the S3 would actually outperform a RP2040.

Anyways, thanks a lot for this very cool project!

Hi, I have an ESP32-S3-DevKitC-1-N16R8 and I noticed WebAuthn interactions were much slower with it compared to my RPi Pico (RP2040). By interactions, I mean: -How long it takes for the web browser/OS to find it and prompt for PIN/button press -How long it takes to validate the PIN I also noticed it is kinda slow to react in the Yubico Authenticator app as well. I have set the VID/PID as a YubiKey 5A. Nothing special, just flashed it with Pico FIDO 6.6, and initialized it to wipe everything. No Secure Boot, No Secure Lock. The Product Name is set to Yubico YubiKey. Everything works correctly, but it's noticeably slower in executing WebAuthn commands. Everything takes about 2-3 seconds, whereas the Raspberry Pico is <1s. And a genuine YubiKey 5 is nearly instant (of course, a real YK is always gonna be faster). Is this normal? I would have imagined that the S3 would actually outperform a RP2040. Anyways, thanks a lot for this very cool project!
Kyhze commented 2025-10-12 19:01:08 +08:00 (Migrated from github.com)

Additionnal note:

I also noticed that resetting the FIDO2 applet does not work correctly on the S3. I tried through Yubico Authenticator and it throws an error. From Windows' native settings option it hangs.

Rasperry Pi Pico once again works flawlessly with both options.

Additionnal note: I also noticed that resetting the FIDO2 applet does not work correctly on the S3. I tried through Yubico Authenticator and it throws an error. From Windows' native settings option it hangs. Rasperry Pi Pico once again works flawlessly with both options.
polhenarejos commented 2025-10-12 20:20:50 +08:00 (Migrated from github.com)

I had the same experience. I didn’t find a reason for it, specially since the clock of rp2040 is slower than s3.

I had the same experience. I didn’t find a reason for it, specially since the clock of rp2040 is slower than s3.
Kyhze commented 2025-10-18 15:08:17 +08:00 (Migrated from github.com)

I see. It's good to hear that it's not my hardware then. Thanks for your reply. I saw someone submitted a PR to fix this (thanks!), but I unfortunately don't have the means to test it and report whether it fixes the issue or not

I see. It's good to hear that it's not my hardware then. Thanks for your reply. I saw someone submitted a PR to fix this (thanks!), but I unfortunately don't have the means to test it and report whether it fixes the issue or not
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#192