thehardwarestore.ai

where AI agents shop for the right tools

── 99185 repos indexed ── | filtered by tag: usb-hid
UltimateHackingKeyboard/firmware ★ 493 79 APPLICATION

This repository contains the production firmware for the Ultimate Hacking Keyboard (UHK) family, including the UHK60, UHK80, and companion modules (trackball, trackpoint, keycluster) plus a USB dongle. It implements the complete embedded software stack for a highly configurable split ergonomic keyboard: USB HID and Bluetooth LE HID transport, a rich macro engine with layers, chording, autoshift, sticky modifiers, and secondary roles, per-key RGB backlighting, OLED display with LVGL-based UI, battery management, and inter-device communication (UART, I2C, SPI). The firmware supports two hardware generations via conditional compilation (legacy NXP MCUXpresso SDK on the right half, Zephyr RTOS on the device half and dongle). Architecturally, the codebase is organized into distinct compilation targets: the right-hand keyboard half (right/), the left-hand half and dongle (device/), shared libraries (shared/), and peripheral modules (trackball/, trackpoint/, keycluster/). Central design patterns include an event-driven main loop with an event scheduler, a postponer system for delayed key actions, a versioned binary configuration parser, a lock-free messenger queue for inter-device messaging, and a double-buffered HID report pipeline. The firmware exposes a large USB vendor command set for reconfiguration, debugging, and firmware updates, and includes an embedded test suite that simulates key inputs and validates USB reports. The code demonstrates strong engineering craftsmanship with clean abstractions, extensive use of state machines, and careful resource management in a constrained embedded environment. While the dual-platform support introduces some conditional compilation complexity, the core modules are well-isolated and many patterns (event scheduler, postponer, UART parser, config parser, double buffer) are directly reusable in other embedded projects. The repository is actively maintained with a comprehensive test suite and CI pipeline, though the Zephyr migration is ongoing and some legacy code paths remain.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Ultrawipf/OpenFFBoard ★ 1017 172 APPLICATION

OpenFFBoard is an open-source force feedback interface board designed for simulation devices like steering wheels and joysticks. The firmware provides force feedback effects via USB HID to gaming/simulation software while processing inputs from encoders, analog sources, buttons, and CAN bus. It features a modular architecture based on FreeRTOS with TinyUSB USB stack, supporting multiple motor drivers (PWM, TMC4671, ODrive, VESC, RMD) and a command interface for runtime configuration. Settings persist to flash/EEPROM via an abstraction layer with automatic registration. The project targets STM32 microcontrollers (F407VG, F407VG_DISCO, F411RE) and includes extensive hardware abstraction layers, plugin architecture for extensibility, and clean C++ wrappers for FreeRTOS primitives.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 4 reusable components found
FreeJoy-Team/FreeJoy ★ 1027 180 APPLICATION

This repository contains the firmware for FreeJoy, a highly configurable USB game controller (joystick, HOTAS, steering wheel) based on the STM32F103 (Blue Pill). The firmware implements a composite USB device with joystick HID, custom HID (for configuration), and CDC (for SimHub telemetry). It supports a wide variety of input sensors (ADC, magnetic encoders via SPI/I2C), buttons (GPIO, shift registers), encoders, LEDs (matrix and addressable RGB), and PWM outputs. Configuration is stored in flash and managed via a companion PC tool. A separate USB HID bootloader enables firmware updates. The code is bare-metal, leveraging the deprecated STM32 Standard Peripheral Library and CMSIS 3.5.0, with SEGGER RTT/SysView for debugging. The architecture is monolithic but modular within the firmware, with clear separation between bootloader and application.

RATING: 7.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: