Home / Devices, IoT & Hardware / Peripherals & Gaming Hardware

379 open-source Peripherals & Gaming Hardware projects

Peripherals & Gaming Hardware (Devices, IoT & Hardware): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.

  1. OpenLogi★ 24,272 · active · Rust

    ⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over...

  2. Solaar★ 9,523 · active · Python

    Linux manager for Logitech Unifying, Bolt and Lightspeed receivers and devices

  3. 360Controller★ 6,724 · dormant · C++

    macOS driver for Xbox 360 and Xbox One wired controllers

  4. Proxmark3 Iceman★ 6,172 · active · C

    RFID research toolkit firmware and client with protocol RE support

  5. Piper★ 6,041 · active · Python

    GTK GUI to configure gaming mice via libratbag

  6. Mouser★ 5,316 · active · Python

    Local open-source alternative to Logitech Options+ for remapping HID++ mice

  7. BetterJoy★ 4,800 · slowing · C#

    Use Switch Joy-Cons and Pro Controllers on Windows as XInput devices

  8. OpenRGB★ 4,626 · active · C++

    Open-source RGB lighting control without vendor software

  9. OpenRazer★ 4,565 · active · C

    Open-source Linux drivers and daemon for Razer peripherals

  10. logiops★ 4,394 · active · C++

    Unofficial userspace driver for HID++ Logitech mice and keyboards

  11. OpenTabletDriver★ 4,209 · active · C#

    Cross-platform user-mode tablet driver

  12. libfreenect★ 3,846 · slowing · C

    Drivers and libraries for the Xbox Kinect built from USB RE

  13. Nintendo Switch Reverse Engineering★ 3,800 · active · C

    Documentation of Joy-Con and Pro Controller Bluetooth/HID protocols

  14. ckb-next★ 3,701 · active · C++

    Open-source driver for Corsair keyboards and mice

  15. MissionControl★ 3,594 · active · C++

    Use controllers from other consoles natively on Nintendo Switch over Bluetooth

  16. Proxmark3★ 3,554 · active · C

    Original Proxmark3 RFID research tool firmware and client

  17. LenovoLegionLinux★ 3,499 · active · C

    Linux driver for Lenovo Legion laptop fans, power modes and RGB

  18. NBFC★ 3,234 · slowing · C#

    Notebook fan control via embedded controller register access

  19. ScpToolkit★ 3,173 · archived · C#

    Windows driver and XInput wrapper for DualShock 3/4 controllers

  20. xpadneo★ 2,804 · active · C

    Advanced Linux driver for Xbox One wireless gamepads over Bluetooth

  21. liquidctl★ 2,699 · active · Python

    Cross-platform tool for controlling AIO coolers, fans and RGB from NZXT, Corsair and others

  22. libratbag★ 2,590 · active · C

    DBus daemon to configure gaming mice from Logitech, Roccat, SteelSeries and others

  23. razer-macos★ 2,575 · slowing · JavaScript

    Color effects manager for Razer devices on macOS

  24. GP2040-CE★ 2,574 · active · C++

    Gamepad firmware for RP2040 emulating multiple console controller protocols

  25. xone★ 2,534 · active · C

    Linux kernel driver for Xbox One and Series X-S accessories via the wireless dongle

  26. Bitfocus Companion★ 2,343 · active · TypeScript

    Turns Stream Decks and other controllers into a broadcast control surface, with no vendor software

  27. turing-smart-screen-python★ 2,333 · active · Rich Text Format

    Unofficial system monitor and library for Turing Smart Screen and similar USB-C IPS displays

  28. OpenDeck★ 2,321 · active · Rust

    Linux software for the Stream Deck with Elgato plugin support

  29. libfreenect2★ 2,265 · slowing · C++

    Open driver for the Kinect for Windows v2

  30. remote-mic-app★ 2,071 · active · Swift

    Turns the Xiaomi Bluetooth voice remote 2/2 Pro into a Mac voice input device

  31. Validity90★ 1,879 · dormant · C

    Reverse-engineered Validity/Synaptics fingerprint reader protocol for Linux

  32. DsHidMini★ 1,850 · active · C#

    Windows driver for PS3 DualShock 3 controllers

  33. BlueRetro★ 1,848 · archived · C

    Multiplayer Bluetooth controller adapter for retro consoles, implementing their native controller protocols

  34. SC-Controller★ 1,645 · dormant · Python

    User-mode driver and GUI for the Steam Controller and others

  35. libnx★ 1,476 · active · C

    Library for Nintendo Switch homebrew

  36. g810-led★ 1,453 · dormant · C++

    Linux LED controller for Logitech G keyboards

  37. xow★ 1,452 · dormant · C++

    Linux userspace driver for the Xbox One wireless dongle (reverse engineered protocol)

  38. joycontrol★ 1,366 · dormant · Python

    Emulate Nintendo Switch controllers over Bluetooth

  39. OpenHMD★ 1,289 · slowing · C

    Free and open driver set for VR headsets including Oculus Rift

  40. streamdeck-ui★ 1,273 · slowing · Python

    Linux-compatible UI for the Elgato Stream Deck

  41. Polychromatic★ 1,261 · active · Python

    RGB lighting GUI for OpenRazer devices

  42. ps2sdk★ 1,256 · active · C

    Homebrew SDK for the PlayStation 2

  43. DIGImend★ 1,243 · slowing · C

    Linux drivers for non-Wacom graphics tablets (Huion, XP-Pen)

  44. OpenLinkHub★ 1,237 · active · Go

    Open interface for Corsair iCUE LINK hubs and AIOs on Linux: RGB, fans and pumps

  45. ds4drv★ 1,173 · active · Python

    Sony DualShock 4 userspace driver for Linux

  46. SummerCart64★ 1,170 · slowing · C

    SummerCart64, a fully open-source N64 flashcart

  47. Bluepad32★ 1,166 · active · C

    Bluetooth gamepad host firmware for ESP32 and Pico W supporting many controllers

  48. python-elgato-streamdeck★ 1,139 · active · Python

    Python library to control Elgato Stream Deck devices over HID

  49. StreamController★ 1,137 · active · Python

    Linux app for the Elgato Stream Deck with plugins

  50. JoyCon-Driver★ 1,120 · dormant · C++

    vJoy feeder for Nintendo Switch Joy-Cons and Pro Controller

  51. sys-con★ 1,116 · slowing · C++

    Switch sysmodule adding support for third-party USB controllers

  52. oversteer★ 1,081 · active · Python

    Steering wheel manager for Linux (Logitech, Thrustmaster, Fanatec)

  53. nxbt★ 1,040 · dormant · Python

    Emulate Switch controllers over Bluetooth to control a Nintendo Switch

  54. rivalcfg★ 1,009 · active · Python

    Configure SteelSeries gaming mice on Linux using the reverse-engineered protocol

  55. xpad★ 1,001 · slowing · C

    Updated Linux xpad driver for Xbox controllers

  56. cameractrls★ 957 · active · Python

    Linux camera controls including vendor extension units (Logitech, Kiyo, etc.)

  57. libsurvive★ 943 · active · C

    Open-source Lighthouse (SteamVR) tracking from reverse-engineered protocols

  58. BthPS3★ 925 · active · C

    Windows kernel-mode Bluetooth profile and filter drivers for PS3 controllers

  59. FlashGBX★ 895 · active · Python

    FlashGBX, reads and writes Game Boy and GBA cartridge ROMs and saves

  60. tip-toi-reveng★ 890 · active · Haskell

    Reverse-engineered file format of the Ravensburger TipToi audio pen; tttool to make content

  61. JoyShockMapper★ 876 · slowing · C++

    Gyro and button mapper for DualShock 4, DualSense, Joy-Con and Switch Pro controllers on PC

  62. steamcontroller★ 850 · slowing · Python

    Standalone Steam Controller driver

  63. NiimBlue★ 806 · active · TypeScript

    Web client for Niimbot label printers over BLE

  64. PicoGUS★ 803 · active · C

    Raspberry Pi Pico ISA card that emulates Gravis Ultrasound, Sound Blaster, MPU-401 and CD-ROM

  65. input-wacom★ 729 · active · C

    Linux kernel driver for Wacom tablets

  66. brother_ql★ 724 · active · Python

    Python package to print on Brother QL label printers using the raster protocol

  67. OpenCorsairLink★ 713 · dormant · C

    Linux and macOS support for Corsair Link coolers, fans and PSUs

  68. Cat-Printer★ 657 · active · Python

    Driver app for cheap BLE "cat" thermal printers

  69. GIMX★ 654 · active · C

    Adapter software letting PC input devices emulate console controllers over USB and Bluetooth

  70. InputPlumber★ 605 · active · Rust

    Input router and remapper daemon for handheld PC controllers on Linux

  71. nxdk★ 600 · active · C

    Open-source SDK for the original Xbox

  72. bluefluff★ 577 · active · JavaScript

    Reverse-engineered Furby Connect Bluetooth protocol and update format

  73. CorsairLightingProtocol★ 572 · active · C++

    Arduino firmware that emulates a Corsair Lighting Node for use with iCUE

  74. vita-udcd-uvc★ 554 · slowing · C

    PS Vita plugin exposing the screen as a USB Video Class device

  75. joycond★ 543 · active · C++

    Userspace daemon that combines Nintendo Joy-Cons into one controller on Linux

  76. OpenSteamController★ 542 · slowing · C

    Steam Controller reverse engineering and custom firmware project

  77. PS Move API★ 530 · active · C

    Cross-platform library for PlayStation Move motion controllers

  78. ds4-tools★ 527 · active · Python

    Scripts to explore and reverse engineer the DualShock 4 controller

  79. new-lg4ff★ 505 · slowing · C

    Improved Linux driver for Logitech steering wheels

  80. footswitch★ 496 · active · C

    Command-line utility to program PCsensor and Scythe USB foot switches

  81. rangoli★ 473 · slowing · C++

    Open-source cross-platform software for Royal Kludge keyboards

  82. niimprint★ 471 · active · Python

    Python library for Niimbot label printers via the reverse-engineered protocol

  83. phomemo-tools★ 468 · active · Python

    CUPS driver and tools for Phomemo thermal printers

  84. Switch-Fightstick★ 460 · dormant · C

    LUFA firmware emulating the Pokken Pro Pad to automate Nintendo Switch input

  85. dualsensectl★ 451 · active · C

    Linux tool to control PS5 DualSense controller features

  86. DualSenseY★ 449 · active · C++

    DualSense features (adaptive triggers, haptics, LEDs) and Xbox 360 emulation on Windows

  87. ogx360★ 444 · archived · C++

    Add modern XInput USB controller support to the original Xbox

  88. DualSense-Windows★ 442 · slowing · C++

    Windows API for the PS5 DualSense controller via reverse-engineered HID reports

  89. xboxdrv★ 438 · active · C++

    Xbox 360 userspace driver for Linux

  90. ArduinoXInput★ 437 · slowing · C++

    XInput library making USB-capable Arduino boards act as Xbox controllers

  91. streamdeck-linux-gui★ 437 · active · Python

    Linux GUI for the Elgato Stream Deck

  92. WavePhoenix★ 427 · active · HTML

    Open-source receiver for the Nintendo WaveBird wireless GameCube controller protocol

  93. XJoy★ 415 · archived · C++

    Use Nintendo Switch Joy-Cons as a virtual Xbox 360 controller on Windows

  94. hhd★ 412 · active · Python

    Handheld Daemon to configure controllers, RGB and TDP on handheld PCs

  95. ClickSync★ 404 · active · JavaScript

    Multi-brand mouse web driver over WebHID for Razer, Logitech and other mice

  96. PCXSense★ 400 · slowing · C++

    Translates DualSense input to XInput for PC games

  97. StreamDeckSharp★ 396 · active · C#

    .NET library to drive Elgato Stream Deck hardware directly

  98. spacemouse★ 395 · active · C++

    DIY 6-DOF mouse that emulates a 3Dconnexion SpaceMouse over USB

  99. LD-ToyPad-Emulator★ 388 · active · JavaScript

    Toy Pad emulator for LEGO Dimensions

  100. QuestPatcher★ 387 · active · C#

    Mod patcher for Meta Quest apps

  101. hid-tmff2★ 386 · active · C

    Linux force feedback driver for Thrustmaster wheels

  102. arduino-gameboy-printer-emulator★ 366 · active · C++

    Arduino code that emulates the Game Boy Printer over the link cable protocol

  103. hid-fanatecff★ 346 · active · C

    Linux driver for Fanatec wheels and pedals

  104. busylight★ 344 · active · Python

    Control USB presence lights (Kuando, Embrava, Luxafor, ThingM and more) from CLI or web API

  105. wiiuse★ 338 · active · C

    Cross-platform Wii Remote access library

  106. Xiaomi_gamepad★ 328 · dormant · C#

    Driver and notes for using the Xiaomi Bluetooth gamepad on PC

  107. joycontrol (Poohl)★ 326 · slowing · Python

    Maintained fork of joycontrol for emulating Switch controllers

  108. XboxKeyboardMouse★ 326 · active · C#

    Keyboard and mouse input for Xbox One streaming on Windows via emulated controller

  109. mouse_m908★ 319 · active · C++

    Control Redragon gaming mice from Linux, BSD and Haiku

  110. JoyShockLibrary★ 317 · active · C++

    Read DualSense, DualShock 4, Joy-Con and Pro Controller input on PC

  111. StadiaController★ 310 · dormant · Python

    Tools for reverse engineering and reflashing the Google Stadia controller

  112. Eruption★ 304 · slowing · Rust

    Realtime RGB LED driver for Linux supporting ROCCAT and other keyboards and mice

  113. joycon★ 297 · dormant · Go

    Joy-Con input driver for Linux (userspace)

  114. deckmaster★ 296 · slowing · Go

    App to control an Elgato Stream Deck on Linux

  115. FanControl.CorsairLink★ 296 · active · C#

    Unofficial Corsair Link plugin for Fan Control supporting Corsair controllers and AIOs

  116. wii-u-gc-adapter★ 278 · dormant · C

    Use the Wii U GameCube controller adapter on Linux

  117. xwiimote★ 277 · slowing · C

    Open-source Nintendo Wii Remote Linux device driver

  118. gamecard-microsd★ 261 · dormant · C

    microSD adapter that fits the PlayStation Vita game card slot

  119. MaplePad★ 255 · slowing · C

    Dreamcast controller and VMU emulator on RP2040 over the Maple Bus

  120. razercfg★ 255 · active · C

    Razer mouse configuration library and tools for Linux (DPI, LEDs, profiles)

  121. rgb_keyboard★ 254 · slowing · C++

    Control RGB lighting on GMMK, Redragon and other keyboards on Linux

  122. nx-btred★ 251 · dormant · C++

    Bluetooth audio driver for the Nintendo Switch

  123. lian-li-linux★ 249 · active · Rust

    Linux replacement for Lian Li L-Connect 3: fan, RGB and LCD control from USB captures

  124. wavebird-reversing★ 244 · slowing · Python

    Reverse engineering the Nintendo WaveBird wireless controller protocol

  125. msi-perkeyrgb★ 240 · slowing · Python

    Linux CLI to control per-key RGB on MSI laptop keyboards

  126. hue-plus★ 230 · dormant · Python

    Windows and Linux driver in Python for the NZXT Hue+ lighting controller

  127. razer_chroma_drivers★ 229 · dormant · C

    Linux drivers for Razer Chroma devices with all lighting modes

  128. thermalright-trcc-linux★ 229 · active · Python

    Native Linux port of the Thermalright LCD Control Center

  129. pok3r_re_firmware★ 225 · active · Assembly

    Reverse engineering and custom firmware for POK3R and related keyboards

  130. decky-XRGaming★ 213 · active · TypeScript

    Steam Deck plugin for XREAL/Rokid/VITURE AR glasses head tracking using reverse engineered IMU drivers

  131. ltunify★ 211 · dormant · C

    Tool for pairing and managing Logitech Unifying receivers and devices on Linux

  132. node-elgato-stream-deck★ 207 · active · TypeScript

    Node.js library for driving Elgato Stream Deck hardware over HID

  133. ApexSenseBridge★ 202 · active · C++

    Brings DualSense adaptive triggers and haptics to Flydigi Apex 4/5 controllers

  134. SAxense★ 200 · active · C

    Proof of concept for DualSense haptics over Bluetooth

  135. DSAdvance★ 195 · active · C++

    Xbox controller emulation for DualSense, DualShock 4, Pro Controller and Joy-Cons

  136. joy-con-webhid★ 191 · slowing · TypeScript

    Use Nintendo Switch Joy-Cons in the browser via WebHID

  137. obsbot-camera-control★ 189 · active · C++

    Qt app on Linux to manage OBSBOT webcams including AI tracking

  138. joycon-python★ 188 · dormant · Python

    Python driver for Nintendo Switch Joy-Cons

  139. vds★ 185 · active · C++

    Virtual USB-to-Bluetooth bridge for DualSense and DualSense Edge controllers

  140. game-boy-lcd-sniffing★ 184 · dormant · C

    Taps the Game Boy LCD data bus to capture its video output

  141. ds4vita★ 182 · dormant · C

    Use a DualShock 4 controller on the PS Vita

  142. huion-linux-drivers★ 172 · dormant · Python

    Linux user-space drivers for Huion graphics tablets

  143. arduinogameboy★ 171 · slowing · C++

    Arduino Game Boy cartridge reader and writer that dumps ROM and save RAM to SD

  144. remote-mic-app-windows★ 171 · active · Rust

    Turns the Xiaomi Bluetooth voice remote into a Windows microphone

  145. NeoGB-Printer★ 170 · slowing · C

    Standalone Game Boy Printer emulator compatible with all official printer-enabled games

  146. OpenHMD (thaytan)★ 168 · active · C

    OpenHMD fork with reverse-engineered Oculus Rift CV1 and Rift S tracking

  147. sinowisp★ 168 · active · Rust

    Read and write flash on Sinowealth 8051-based HID keyboards and mice through the ISP bootloader

  148. aoostar-rs★ 165 · slowing · Rust

    Open screen control for AOOSTAR mini PC displays

  149. litra-rs★ 165 · active · Rust

    CLI and library to control Logitech Litra Glow and Beam lights over USB HID

  150. pydualsense★ 165 · active · Python

    Control a DualSense controller from Python

  151. DeckSurf★ 158 · active · C#

    Lightweight open tool and SDK to manage a Stream Deck without Elgato software

  152. Mechanical-Keyboard-Database★ 158 · active

    Database of mechanical keyboards with Sonix MCUs for QMK porting

  153. mi-360★ 157 · slowing · C#

    Xbox 360 controller emulation driver for the Xiaomi Gamepad with vibration

  154. t150_driver★ 157 · slowing · C

    Linux driver for the Thrustmaster T150 steering wheel

  155. G213Colors★ 155 · dormant · Python

    Python script to set Logitech G213 Prodigy keyboard colors without G Hub

  156. Xb2XInput★ 149 · slowing · C++

    User-mode Windows driver for original Xbox controllers with XInput and DirectInput

  157. asdbctl★ 141 · active · Rust

    CLI to get and set Apple Studio Display brightness from Linux

  158. g13★ 141 · slowing · C++

    libusb userspace driver for the Logitech G13 gameboard

  159. Lolgato★ 140 · active · Swift

    macOS app for Elgato Key Light control beyond Control Center

  160. loupedeck★ 140 · slowing · JavaScript

    Node.js API for Loupedeck and Razer Stream controllers

  161. logitech-g710-linux-driver★ 138 · slowing · C

    Linux kernel driver for Logitech G710 keyboard G-keys and backlight

  162. Gameboy-Camera-Flashcart★ 136 · slowing

    Flashable Game Boy Camera cartridge PCB

  163. vitastick★ 136 · dormant · C

    Use the PS Vita as a USB game controller

  164. N64-UNFLoader★ 134 · active · C++

    Cross-platform N64 flashcart ROM uploader with USB debugging for 64drive, EverDrive and SC64

  165. devdeck★ 133 · slowing · Python

    Stream Deck control software for developers on Linux

  166. XBox_Controller_Linux_Interface★ 133 · dormant · C

    Talks to an Xbox One controller directly via its raw USB stream on Linux

  167. RemoteMapper-ESP32★ 131 · active · C

    ESP32 bridge for the Xiaomi Bluetooth Remote 2 Pro fixing key mapping on Windows

  168. ratslap★ 130 · slowing · C

    Linux configuration tool for Logitech G300/G300S mice

  169. apex-tux★ 129 · active · Rust

    Linux support for the OLED screen of SteelSeries Apex Pro, 5 and 7 keyboards

  170. logitech-g600-linux★ 128 · slowing · C++

    Key binding utility for all 16 buttons of the Logitech G600 mouse on Linux

  171. dk63★ 126 · dormant · Python

    Reverse engineering the Dierya/Kemove DK63 keyboard

  172. gloriousctl★ 126 · active · C

    Utility to configure Glorious Model O/D mice on Linux/BSD

  173. MiniSynapse★ 126 · dormant · C#

    Lightweight Razer peripheral initialization without Synapse

  174. Arduino-JoyCon-Library-for-Nintendo-Switch★ 123 · dormant · C++

    Turns ATmega32u4 Arduinos into Nintendo Switch-compatible gamepads

  175. dualsense★ 122 · active · TypeScript

    WebHID explorer for the DualSense controller HID reports

  176. aquacomputer_d5next-hwmon★ 119 · slowing · C

    Linux hwmon driver for Aquacomputer pumps and fan controllers, partly mainlined

  177. unifying★ 119 · slowing · C

    FOSS reimplementation of the Logitech Unifying protocol

  178. logitech-g29★ 118 · archived · JavaScript

    Node.js driver for the Logitech G29 racing wheel: inputs, LEDs and force feedback

  179. hidpp★ 117 · dormant · C++

    Collection of tools for the Logitech HID++ protocol

  180. WiimoteLib★ 113 · dormant · C#

    .NET library for the Nintendo Wii Remote

  181. VitaControl★ 112 · slowing · C++

    Use Bluetooth controllers from other consoles on the PS Vita

  182. g910-gkey-macro-support★ 110 · active · Python

    G-key macro support for the Logitech G910 keyboard on Linux

  183. Naga_KeypadMapper★ 110 · dormant · C++

    Linux daemon to map the side keypad of Razer Naga mice

  184. GBxCart-RW★ 109 · dormant · C

    GBxCart RW device for dumping Game Boy ROMs, backing up saves and flashing carts

  185. 8bitdo-kbd-mapper★ 105 · active · Python

    Key mapper for the 8BitDo Retro Mechanical Keyboard

  186. g305-re★ 105 · dormant

    Reverse engineering of the G305 mouse by Logitech

  187. DreamPicoPort★ 103 · active · C++

    Dreamcast-to-USB gamepad converter for Raspberry Pi Pico speaking the Maple Bus protocol

  188. switch2_controller_research★ 103 · active

    Research into Nintendo Switch 2 controller protocols

  189. UltraCIC★ 103 · dormant · Assembly

    Nintendo 64 CIC lockout chip clone

  190. gbmonctl★ 102 · active · Go

    CLI control of Gigabyte M32U monitor settings over USB, replacing OSD Sidekick

  191. keylight-control★ 102 · dormant · JavaScript

    Linux app to control Elgato Key Lights over their local HTTP API

  192. libcmmk★ 102 · archived · C

    Unofficial LED control API for Cooler Master MasterKeys keyboards

  193. NfcAimeReader★ 102 · active · Kotlin

    Reads SEGA Aime and Konami cards with Android NFC for arcade card readers

  194. The-TinyGB-Printer★ 102 · active · C

    Portable Game Boy Printer emulator that stores PNG images on SD card

  195. ApexCtl★ 101 · dormant · Haskell

    Enables the extra macro keys on SteelSeries Apex keyboards under Linux

  196. logitech-m720-config★ 101 · slowing · Python

    Linux script remapping Logitech M720 mouse buttons over HID++

  197. VivePro2-Linux-Driver★ 98 · active · C++

    SteamVR driver for the HTC Vive Pro 2 on Linux

  198. GBCameraProjects★ 97 · dormant · C

    Lo-fi portable video recorder built around a Game Boy Camera cartridge

  199. liquidtux★ 94 · active · C

    Linux kernel hwmon drivers for NZXT and other AIO liquid coolers

  200. rust-elgato-streamdeck★ 94 · active · Rust

    Rust library for interacting with Elgato Stream Deck hardware

  201. trigger-control★ 94 · slowing · C++

    Control DualSense adaptive triggers on Linux and Windows with GUI and C++ API

  202. Thrustmaster-T300-Steering-Wheel-Emulator★ 93 · dormant · C++

    Arduino emulator for Thrustmaster T300 steering wheel rims

  203. streamdeck (Go)★ 90 · slowing · Go

    Golang API for the Elgato Stream Deck hardware

  204. libjoycon★ 88 · dormant · C

    Library to encode and decode Joy-Con Bluetooth packets

  205. JoyCon2Mac★ 87 · active · Objective-C++

    macOS DriverKit driver for Nintendo Switch 2 Joy-Cons

  206. OpenSnek★ 87 · active · Swift

    Reverse-engineered Razer mouse USB/Bluetooth protocol for configuration on macOS

  207. Game-Boy-Camera-Fast-Wifi-Adapter★ 86 · dormant · PHP

    Wi-Fi adapter that extracts photos from a Game Boy Camera

  208. dualsense-controller-python★ 84 · active · Python

    Python library for the DualSense controller

  209. roccat-vulcan★ 84 · slowing · C

    Linux RGB LED effects for the ROCCAT Vulcan 100/120 keyboards

  210. stream-deck-api★ 81 · dormant · JavaScript

    API to interact with the Elgato Stream Deck over USB HID

  211. monsgeek-akko-linux★ 80 · active · Rust

    Linux driver for MonsGeek/Akko magnetic keyboards

  212. PicoSwitch-WirelessGamepadAdapter★ 80 · slowing · C

    Uses any Bluetooth gamepad on a Nintendo Switch via a Raspberry Pi Pico W

  213. wifi-gbp-emulator★ 80 · active · C++

    Game Boy Printer emulator that serves received data over Wi-Fi

  214. rust-streamdeck★ 79 · active · Rust

    libusb-based driver for Elgato Stream Deck devices

  215. userspace-tablet-driver-daemon★ 78 · active · C++

    Linux userspace drivers for XP-Pen, Huion and Gaomon tablets and pen displays

  216. gb-printer-web★ 76 · active · TypeScript

    Web app that decodes and renders Game Boy Printer data dumps

  217. mi-vigem★ 75 · archived · C

    ViGEm adapter for the Xiaomi Gamepad

  218. cube64-dx★ 74 · dormant · Assembly

    GameCube controller adaptor for the N64

  219. rivalctl★ 72 · dormant · Python

    Linux CLI to configure the SteelSeries Rival gaming mouse

  220. elgato4k-linux★ 71 · active · Rust

    Linux CLI support for Elgato 4K capture cards

  221. linux_thermaltake_riing★ 71 · slowing · Python

    Python driver and daemon for Thermaltake Riing fans and pumps on Linux

  222. gamesir-linux-tools★ 69 · active · Python

    Linux configuration app for GameSir controllers and Logitech mice

  223. razer_test★ 69 · slowing · C++

    Experimental userspace replacement for OpenRazer

  224. esp32-gameboy-printer★ 68 · dormant · C

    Emulates a Game Boy Printer with an ESP32

  225. GBCartRead★ 68 · dormant · Eagle

    Read ROM and read or write save RAM on Game Boy cartridges

  226. teck★ 67 · slowing · Assembly

    Truly Ergonomic keyboard firmware hacking

  227. WebCamControl★ 67 · active · C#

    Linux alternative to Insta360 Link Controller for PTZ webcams

  228. mxw★ 66 · active · Rust

    Cross-platform CLI for Glorious Model O/D Wireless mouse settings

  229. YHK-Cat-Thermal-Printer★ 66 · slowing · Python

    Protocol notes and code for YHK cat/rabbit mini thermal printers

  230. DuckyAPI★ 65 · dormant · C

    Control Ducky keyboard RGB lighting

  231. OmniLED★ 65 · active · Rust

    Control the OLED screens on SteelSeries and other devices with Lua scripts, cross-platform

  232. gbpxl★ 61 · dormant · C

    Interface between the Game Boy Camera and ESC/POS thermal printers

  233. wiimote-webhid★ 61 · dormant · JavaScript

    Wiimote implementation using WebHID

  234. flydigi-vader5★ 60 · active · C++

    Linux driver for the Flydigi Vader 5 Pro gamepad with gyro and back buttons

  235. rcue★ 60 · slowing · Rust

    Userspace USB driver for the Corsair H150i PRO AIO cooler

  236. JoyConSwift★ 59 · dormant · Swift

    IOKit wrapper for Joy-Con and Pro Controller on macOS

  237. LibCorsairRGB★ 59 · dormant · C++

    Windows library for controlling lights on Corsair RGB keyboards over USB

  238. dualsense-ts★ 58 · active · TypeScript

    TypeScript interface for the DualSense and DualSense Access controllers

  239. steelseries-linux★ 58 · active · Python

    SteelSeries device support utilities for Linux

  240. azeron-linux★ 57 · active · JavaScript

    Unofficial Azeron keypad software for Linux

  241. CorsairLinkPlusPlus★ 57 · archived · C#

    Open implementation of the Corsair Link protocol for coolers and fans

  242. pt-p710bt-label-maker★ 56 · slowing · Python

    Print to Brother PT-P710BT label printers over Bluetooth

  243. tiny2★ 56 · active · Rust

    Linux GUI controller for the OBSBOT Tiny 2 webcam

  244. corsairmi★ 55 · slowing · C

    Tool to read sensors from Corsair RMi power supplies

  245. openlogi-net★ 55 · active · C#

    Local-first Logitech Options+ alternative for Windows using HID++

  246. XboxWirelessAdapter★ 55 · active · Python

    Clean-room reverse engineering of the Xbox MN-740 Wireless Bridge

  247. camlink-re★ 54 · dormant · C

    Tools for reverse engineering Elgato Cam Link devices

  248. deepcool-ak620-digital-linux★ 54 · active · Python

    Linux driver for the temperature display on DeepCool AK620 Digital CPU coolers

  249. gmk87-node★ 54 · active · JavaScript

    Open-source configurator for the Zuoya GMK87 keyboard

  250. Switch2-Controllers★ 53 · active · Python

    Tools and GUI to connect Nintendo Switch 2 controllers to PC

  251. ajazz-keyboard-software-linux★ 52 · slowing · C++

    Linux software for Ajazz keyboards such as the AK820 Pro

  252. uchroma★ 52 · active · Python

    Advanced Linux driver for Razer Chroma hardware with multi-layer animations

  253. game-boy-pico-link-board★ 51 · active

    Open-source USB to Game Boy link cable adapter for Raspberry Pi Pico

  254. esp8266-gameboy-printer★ 50 · dormant · C++

    ESP8266 device that emulates the Game Boy Printer and exposes received images over Wi-Fi

  255. ME2-Writeup★ 50 · active

    Reconstructing a dead handheld's USB protocol by desoldering and dumping its flash

  256. Unbound-editor-device-customizer★ 50 · active · Python

    Remap the buttons on a Blackmagic Design Speed Editor

  257. joycon-toolweb★ 49 · dormant · JavaScript

    Web tool to change Joy-Con and Pro Controller body colors in SPI flash

  258. kludgeknight★ 49 · active · TypeScript

    Browser-based open-source configurator for Royal Kludge keyboards

  259. The-Arduino-SD-Game-Boy-Printer★ 48 · slowing · C++

    Print arbitrary images on a real Game Boy Printer from an SD card

  260. k810_k811_fkeys★ 47 · dormant · C++

    Linux Fn-key switcher for Logitech K810/K811 keyboards

  261. LegoDimensions★ 47 · active · C#

    Read and write Lego Dimensions tags and interact with the portal

  262. Trueforce-For-All★ 47 · active · C#

    Use Logitech Trueforce in any game with telemetry-based force feedback

  263. GKraken★ 46 · archived · Python

    GTK app to control NZXT Kraken AIO cooler fans, pump and lighting on Linux

  264. esp32-phomemo-gameboy-printer★ 44 · dormant · C++

    Game Boy Printer emulator that prints on a Phomemo T02 thermal printer

  265. 8BitVita★ 42 · dormant · C

    Connect 8BitDo controllers to the PS Vita

  266. GBCamera-Android-Manager★ 42 · active · Java

    Android app to manage a Game Boy Camera gallery over USB serial

  267. LGSTrayEx★ 42 · active · C#

    Tray app tracking battery levels of wireless Logitech devices

  268. ulanzi-d200-linux★ 42 · active · Python

    Linux manager for the Ulanzi D200 stream deck

  269. Game-Boy-chips-decapping-project★ 41 · archived

    Database of microscope images of decapped Game Boy chips

  270. mirabox-streamdock-node★ 41 · slowing · TypeScript

    Reverse-engineered MiraBox StreamDock communication protocol

  271. viimote★ 41 · dormant · C

    Adds Wiimote support to the PS Vita

  272. Phantom-Sense★ 40 · active · PowerShell

    Enables full DualSense features (adaptive triggers, haptics, gyro) over Moonlight streaming

  273. wavebird★ 40 · active · Swift

    Nintendo Switch 2 controller bridge app for macOS

  274. GBPrinter★ 39 · dormant · Arduino

    Arduino library for driving the Game Boy Printer

  275. Kreo-Hive65-Rgb-Linux★ 38 · active · Python

    Reverse-engineered HID protocol of Kreo Hive 65 keyboard for Linux

  276. corsair-cpro★ 37 · active · C

    Linux kernel driver for the Corsair Commander Pro fan and RGB controller

  277. corsair-psu★ 37 · active · C

    Linux hwmon driver for Corsair RMi/HXi PSUs over their USB interface (mainlined)

  278. corsairpsu★ 37 · active · C

    Linux hwmon driver for Corsair RMi and HXi power supplies

  279. openrazer-drivers★ 37 · dormant · C

    Razer Linux kernel drivers

  280. Royal-Kludge-R75★ 37 · active · C

    Custom QMK firmware for the Royal Kludge R75

  281. Flipper-Zero-LD-Toypad-Emulator★ 36 · active · C

    Flipper Zero app to emulate the Lego Dimensions ToyPad via USB

  282. mxoptions★ 36 · active · Python

    Linux settings app for Logitech MX Master mice: buttons, gestures, wheels and haptics

  283. Apex-Macros★ 35 · active · Shell

    Use SteelSeries Apex keyboard macro keys on Linux

  284. GB_Mini_Camera★ 35 · active

    Smaller flashable re-creation of the original Game Boy Camera

  285. glorious-mouse-control★ 35 · dormant · Rust

    CLI control for Glorious wired mice settings and RGB

  286. apexctl★ 34 · dormant · C

    Control SteelSeries Apex keyboards on GNU/Linux

  287. flydigictl★ 34 · active · Go

    Linux utility to manage Flydigi controller configuration

  288. lego_dimensions_protocol★ 34 · dormant · Python

    Protocol analysis and wrapper library for the Lego Dimensions Gateway (toy pad) peripheral

  289. nus-cpu★ 34 · dormant · Prolog

    Re-creation of Nintendo 64 schematics for a portable board layout

  290. Insta360-Link-1-and-2-Controller-for-Linux★ 33 · active · Pascal

    Insta360 Link 1/2 webcam controller for Linux

  291. Tiny4Linux★ 33 · active · Rust

    GUI and CLI controller for the OBSBOT Tiny 2 on Linux

  292. BuzzIO★ 32 · dormant · C#

    C# library for Sony PS2/PS3 Buzz USB controllers on Windows

  293. insta360-link-firmware-re★ 32 · active · Python

    Reverse engineering Insta360 Link webcam firmware and UVC control protocol

  294. LogiWheelHost★ 32 · active · C++

    Reads Logitech Driving Force racing wheels on an ESP32-S3 over USB host

  295. vixen★ 31 · active · C

    ViXEn, Xbox (XInput) USB controller support for the PS Vita

  296. Switch2ProWirelessViiper★ 30 · active · C#

    Unofficial Windows app using a Switch 2 Pro Controller directly over Bluetooth

  297. g64drive★ 29 · slowing · Go

    Portable Linux/macOS tool for the Retroactive 64drive flashcart

  298. obsbot-tiny-2-control★ 29 · slowing · Python

    Python control of OBSBOT Tiny 2 AI modes

  299. openjvs★ 29 · dormant · Python

    Reverse engineering and USB HID driver for the JVS arcade protocol

  300. UtechSmart-Venus-Pro-Linux★ 28 · active · Python

    Reverse-engineered Linux config utility for the UtechSmart Venus Pro mouse

  301. openbitdo★ 27 · active · Go

    8BitDo controller customization software for Linux/macOS

  302. switch2-controllers★ 27 · active · Python

    Use Nintendo Switch 2 Joy-Cons on PC

  303. Logitech-G19-Linux-Daemon★ 26 · dormant · Python

    Python daemon for Logitech G19 keyboard LCD, keys and backlight on Linux

  304. logitech-g400-config★ 26 · dormant · C

    libusb CLI to set Logitech G400 mouse DPI and polling rate

  305. thermal-pocket-printer-basic★ 25 · active · HTML

    Reverse-engineered BLE protocol of a thermal pocket printer; Python CLI and web GUI

  306. real_utilities★ 24 · dormant · C++

    Tools for interfacing with Nreal Air glasses IMU and display modes

  307. rkcu★ 24 · dormant · Python

    Reverse-engineered USB configuration tool for Royal Kludge RK61 keyboards

  308. 8bitdo-spec★ 23 · dormant · Shell

    Documentation of the protocol used to configure 8BitDo controllers

  309. aula-f75-linux★ 23 · active · Rust

    Native Linux app for the AULA F75 keyboard: per-key RGB, remapping and macros

  310. dawctl★ 23 · dormant · Rust

    Reverse-engineered controller for Razer DeathAdder White DPI, lighting and polling rate

  311. gb-link-printer★ 23 · dormant · C

    Game Boy link-cable printer emulator by stacksmashing

  312. meet4k★ 23 · dormant · Rust

    Control extra features of the OBSBOT Meet 4K camera on Linux

  313. OpenGHub★ 23 · active · Rust

    Open, Linux-native reimplementation of Logitech G HUB

  314. steelseries-oled★ 23 · dormant · Python

    Python utility to display GIFs on SteelSeries keyboard OLEDs

  315. switch2-controllers-linux★ 23 · active · Python

    Wireless Switch 2 controllers (Joy-Con 2, Pro 2, NSO GameCube) on Linux

  316. FanControl.Razer★ 22 · slowing · C#

    Unofficial Razer plugin for Fan Control adding Razer fan controller support

  317. Logitech-F710-Windows-driver★ 22 · active

    Unofficial unsigned Windows 10 driver for the Logitech F710 wireless gamepad

  318. MacRazer★ 22 · active · Swift

    Native macOS menu bar app controlling Razer mice over USB HID without Synapse

  319. reed-tpse★ 22 · active · C++

    Linux CLI for Tryx Panorama SE AIO cooler display via reverse-engineered protocol

  320. Linux G15 Daemon (G110)★ 21 · dormant · Shell

    G15 daemon, macros and LED control for Logitech G110 and other keyboards on Linux

  321. open-razerkit★ 21 · active · JavaScript

    Open toolkit for Razer products with RGB control and a web UI

  322. vader3★ 21 · active · C

    Flydigi Vader 3 Bluetooth driver for GNU/Linux

  323. apex7tkl_linux★ 20 · dormant · Python

    Python CLI for the SteelSeries Apex 7 TKL keyboard on Linux

  324. flipper-gb-printer★ 20 · slowing · C

    Game Boy Printer emulator for Flipper Zero

  325. pixma-rs★ 20 · active · Rust

    Reverse-engineered Canon PIXMA G3010 macOS print/scan driver in Rust

  326. corsair-xeneon-edge-linux★ 19 · active · C++

    Native Linux control for CORSAIR XENEON EDGE touchscreen

  327. homeassistant-basestation★ 19 · active · Python

    Valve Index and HTC Vive base stations powered on/off over BLE

  328. IF-GBP-02-Gameboy-Printer★ 19 · dormant

    Full schematic and gerbers for the Nintendo Game Boy Printer PCB rev 02

  329. logitech-ipc-protocol★ 19 · active · Python

    Reverse-engineered Logi Options+ agent IPC protocol to switch multi-host devices

  330. libmaple★ 18 · dormant · Assembly

    Arduino interface for the Dreamcast's proprietary Maple Bus

  331. notlogi★ 18 · active · JavaScript

    Unofficial Linux tools for Logitech MX Master 4/3S mice and MX Keys

  332. OpenKraken★ 18 · active · Python

    Linux control center for NZXT Kraken AIO coolers via reverse-engineered protocol

  333. openrazer-win★ 18 · active · Python

    User-space OpenRazer for Windows controlling Razer keyboards, mice and mousepads without Synapse

  334. xb1controller★ 18 · dormant · C++

    Unofficial Xbox One controller driver for Mac OS X

  335. GERazerKit★ 17 · dormant · C

    Unofficial SDK for Razer hardware on macOS

  336. laser-drift★ 17 · dormant · Python

    Reverse-engineered Carrera Digital slot car IR controller protocol

  337. NSW2-controller-enabler★ 17 · slowing · Python

    Scripts to enable Switch 2 Pro/GameCube controllers via USB

  338. CorsairK95★ 16 · dormant · NSIS

    Reverse-engineered driver reading Corsair K95 gaming, media and control keys

  339. MasterMice★ 16 · active · Python

    Lightweight replacement for Logi Options+ with haptics, force sensor and SmartShift support

  340. PC-to-Game-Boy-Printer-interface★ 16 · slowing · MATLAB

    Direct PC to Game Boy Printer interface over Arduino

  341. PS4Arduino★ 16 · active · C++

    Library making HID-capable Arduinos emulate a DualShock 4

  342. Codedeck★ 15 · slowing · Swift

    Swift library for interfacing with the Elgato Stream Deck

  343. corsair-re★ 15 · dormant · C

    Tools used to reverse engineer the Corsair HID protocol

  344. one-xr★ 15 · active · Kotlin

    Android library parsing IMU data and controls of XREAL One glasses

  345. switch2controller★ 15 · active · C

    Wakes a Nintendo Switch 2 via ESP32 BLE beacon, reverse-engineered

  346. zenvision-linux★ 15 · active · Python

    Reverse-engineered userspace driver for the ASUS ZenVision lid OLED display on Linux

  347. blackwidow_macro★ 14 · active · C

    Enables macro keys on Razer BlackWidow keyboards under Linux

  348. productiondeck★ 14 · active · Rust

    Open-source hardware compatible with the Stream Deck USB protocol

  349. StreamDeck_Win7★ 14 · dormant · C#

    C# Stream Deck client talking to the device over HID

  350. chis-pocket-camera★ 13 · active · Verilog

    Game Boy Camera replica built without the proprietary MAC-GBD chip

  351. k810-fn-config★ 13 · slowing · JavaScript

    Web tool toggling the Logitech K810 keyboard's Fn keys via WebHID

  352. LogitechWheelHelper★ 13 · archived · C#

    Changes hidden global settings of Logitech racing wheels

  353. attack-shark-linux★ 12 · active · Go

    Reverse-engineered gaming mouse HID protocol to configure it on Linux

  354. goodix-fp-spi-linux★ 12 · active · C

    Reverse-engineered Goodix SPI fingerprint sensors (incl. QSEE enclave) for Linux

  355. k380-swap-keys★ 12 · active · Shell

    Swaps the upper Fn keys on the Logitech K380 keyboard

  356. DualSense.js★ 11 · dormant · TypeScript

    Sony DualSense browser API using WebHID

  357. sc2-research★ 11 · active · Python

    Notes and tools for the Steam Controller 2: HID reports and firmware-update protocol

  358. Stream-Deck-for-Linux★ 11 · archived · Go

    Unofficial Linux interface for the Elgato Stream Deck

  359. Gameboy-Reverse-Engineering★ 9 · dormant · C++

    Reverse engineering the Game Boy Printer, Pokemon Gen I/II trading and IR protocols

  360. GameboyPrinterSniffer★ 9 · dormant · C++

    Sniffs link-cable packets between a real Game Boy and Game Boy Printer

  361. 263-tbhs-Reverse-Engineered-Game-Boy-Printer★ 8 · dormant · C

    Reverse-engineered Game Boy Printer from The Ben Heck Show

  362. BoltUpdateTool★ 8 · active · C#

    Unofficial firmware updater for Logitech Bolt receivers on macOS and Windows

  363. openFPGA-Game-Boy-Printer★ 8 · active · Verilog

    Digital Game Boy Printer core for the Analogue Pocket openFPGA platform

  364. dell-1320c-cups-driver★ 7 · active · C

    Reverse-engineered CUPS driver for the Dell 1320c / Fuji Xerox C525A printer

  365. titania★ 6 · archived · C

    Unofficial userland library for the Sony DualSense and DualShock 4 controllers

  366. Game-Boy-camera-sniffer★ 5 · archived · C++

    Data logger intercepting analog images from a Game Boy Camera

  367. myXreal★ 5 · active · C++

    C++ driver for XREAL Air 2 Ultra IMU, stereo camera and calibration

  368. Play-with-the-Game-Boy-Camera-Mitsubishi-M64282FP-sensor★ 5 · active · C++

    Code to drive the Game Boy Camera's Mitsubishi M64282FP sensor directly

  369. SynapseCTRL★ 5 · active · Python

    Controls Razer Synapse profiles from external programs

  370. cooler-lcd★ 1 · active · Rust

    USB driver and Rust dashboard for Thermalright Vision cooler LCD displays

  371. Ajazz-AKP153-RE★ 0

    Reverse engineering the Ajazz AKP153 / Mirabox stream deck devices

  372. deck-driver★ 0

    Library for interacting with Elgato Stream Deck devices

  373. detour★ 0

    Linux userspace driver for the TourBox NEO controller

  374. kuandoDriver★ 0

    Open-source driver for the Kuando Busylight Alpha

  375. niimprint (niimbot)★ 0 · slowing · Python

    Niimbot label printer client based on the reverse-engineered protocol

  376. ptouch-print★ 0 · active · C

    Print labels on Brother P-touch printers from Linux using the reverse-engineered protocol

  377. pycyborg★ 0

    Reverse-engineered USB protocol for Saitek Cyborg gaming lights

  378. steelseries-macros★ 0

    Reverse-engineered macro protocol for SteelSeries Prime mice

  379. titania★ 0

    Cross-platform unofficial userland library for the PlayStation DualSense and Access controllers