Skip to content

Add PID 1209:D0C4 for Duckwalk - #1353

Open
arudaev wants to merge 2 commits into
pidcodes:masterfrom
arudaev:add-duckwalk
Open

arudaev wants to merge 2 commits into
pidcodes:masterfrom
arudaev:add-duckwalk

Conversation

@arudaev

@arudaev arudaev commented Nov 4, 2026 •

Copy link
Copy Markdown

Adds the org page for arudaev and requests one PID, 1209:D0C4, for Duckwalk. Org and PID are in this one PR.

Project: Duckwalk, an app for the Flipper Zero that keeps a computer awake by moving the mouse pointer and works as a media remote.

Hardware: an unmodified Flipper Zero (STM32WB55RG, full-speed USB device on the MCU's own USB peripheral, USB-C) with the official firmware, plugged into a computer. No extra board or wiring. Flipper Devices publishes the schematic: https://docs.flipper.net/zero/development/hardware/schematic

Where the PID is used:

  • Flipper app: device descriptor in app/usb/usb_duck.c, IDs in app/usb/usb_duck.h (USB_DUCK_VID, USB_DUCK_PID). One HID interface with three collections: mouse (report 2), consumer control (report 3) and a vendor-defined 63-byte data channel (report 4, usage page 0xFF00).
  • Desktop app (Rust, same repository): desktop/app/src/usb.rs opens the data channel by VID and PID; desktop/app/src/input/ ignores input from that VID and PID when it decides whether the user is at the computer.

Both now use 1209:D0C4 on main (switched from the test IDs 1209:0001 in arudaev/duckwalk#153); nothing has been released with it yet. Every place the PID is used is listed on the project's USB device page, which site: points to, together with a photo of the device.

Why a PID of its own: while Duckwalk runs, the Flipper drops its normal USB identity and presents Duckwalk's HID device. The desktop app has to find that device, and tell it apart from the user's own mouse, by VID and PID, so the test IDs (shared with every other project in development) won't do. Every user runs the same app on the same hardware, so per-user PIDs wouldn't work. The app is about to be submitted to the official Flipper Apps Catalog, so it needs a real ID before it reaches other people.

Like the recently merged #1287 and #1292, this is a software-only project, and all software that uses the PID is open source (GPL-3.0). Unlike those, it runs on a physical device with a published schematic.

@arudaev

arudaev commented Nov 10, 2026

Copy link
Copy Markdown
Author

@cnlohr this is ready for review. Everything is in the linked repository, so nothing depends on this thread:

Thank you!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant