Skip to content

Hurra Input Devices

Hurra is a family of bare-metal firmware and host tooling that sits between a USB HID device and your computer. It enumerates a real HID device (mouse, keyboard, controller) on a USB host port, replays that device to the PC on a USB device port, and lets you inject your own mouse and keyboard input on top of the live HID stream over a serial command link.

Injected motion passes through an always-on humanization filter (sub-pixel jitter, micro-correction, and dwell) so synthetic input blends with the real device stream.

   USB HID device ──→ Hurra USB host ──┐
                                       │  (firmware proxies + injects)
   Host PC USB ←── Hurra USB device ───┘
                          │ injected input
   Host PC USB ──→ UART bridge ──→ Hurra command link

The firmware forwards every real HID report through unchanged, merges in any input you inject over the serial link, and sends the combined stream to the host PC.

Download firmware & app How it works

The family

Live

Hurra v3

WCH CH32H417 dual-core RISC-V. USB High-Speed host capture (up to ~8 kHz mice) cloned to a Full-Speed device, with the relay split across two cores. The newest target — source on GitHub.

Read more →

Shipping

Hurra v2

SparkFun MicroMod Teensy (NXP i.MX RT1062). The proven firmware: EHCI host + device controllers, Hurra binary and Ferrum ASCII protocols, humanization. Has tagged releases and a prebuilt firmware.hex.

Read more →

Host

hurra-app

The host-side companion. hurra-bridge exposes a Ferrum-compatible virtual COM port and a KMBox Net (UDP) endpoint, so existing tools work unchanged. Prebuilt binaries for macOS, Linux, and Windows.

Read more →

Choosing a target

Hurra v3 Hurra v2
MCU WCH CH32H417 (dual-core RISC-V) NXP i.MX RT1062 (Cortex-M7)
Board CH32H417QEU6 USB 3.0 dev board SparkFun MicroMod Teensy + ATP carrier
Host-side USB USBHS — High-Speed (480 Mbps), ~8 kHz USB2 EHCI host
PC-side USB USBFS — Full-Speed (12 Mbps), ~1 kHz USB1 EHCI device
Command link USART1 @ 921600 (on-board WCH-LinkE VCP) LPUART3 @ 4 Mbaud (CH343 bridge)
Status Live — source on GitHub Shipping, tagged releases
Prebuilt firmware Build from source firmware.hex

What stays the same across versions

  • Two command protocolsHurra binary (fast TinyFrame framing, the default) and Ferrum ASCII (text protocol for legacy tooling).
  • The host apphurra-app talks the Hurra protocol and bridges it to Ferrum VCOM or KMBox Net, unchanged between firmware targets.
  • Humanization — always-on jitter / micro-correction / dwell on injected motion.

Intended use

The Hurra firmware and tooling are published for authorized testing, security research, input-automation development, and education. Use them only on systems and accounts you own or are explicitly permitted to test.