30 open-source projects similar to dekunukem/nintendo_switch_reverse_engineering, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a
tmk_keyboard is keyboard firmware for AVR and Cortex-M microcontrollers designed to handle key matrix scanning and HID communication. It functions as an embedded hardware control library for managing GPIO pins and EEPROM storage, as well as a driver that transmits keystroke and mouse data to a host computer via USB or PS/2 protocols. The project features a layer-based keymap engine that allows physical keys to be mapped to multiple virtual layers. It also includes a legacy keyboard protocol translator to convert signals from vintage hardware standards to modern computer interfaces. The firmw
OpenCat-Quadruped-Robot is a development framework and motion control API for building four-legged robots. It provides a comprehensive environment for quadruped robot development, featuring tools for locomotion gait design, inverse kinematics, and a layered control architecture that separates high-level intelligence from low-level motion. The project distinguishes itself as an embedded AI deployment tool, allowing users to train, quantize, and deploy machine learning models to vision modules for tasks such as object detection and visual target tracking. It further supports complex human-robot
Psychson is a toolset for modifying USB firmware binaries and flashing custom images to specific hardware controller architectures. It provides utilities for dumping, patching, and flashing custom firmware specifically for Phison 2251-03 USB controllers. The software includes a payload injector for embedding HID keystroke scripts into USB firmware to automate inputs on a target machine. It also features a controller flasher for writing modified burner images directly to Phison-based USB hardware. The suite covers firmware management and hardware forensic analysis, including capabilities for
UEFITool is a firmware analysis tool and image editor designed for parsing, visualizing, and modifying UEFI firmware images. It functions as a specification parser that converts binary firmware data into structured formats based on standard platform interface specifications. The tool provides a visual interface to analyze the tree structure and internal data elements of UEFI platform images. It allows for the modification of firmware images to adjust system boot environments and includes capabilities to search for specific data patterns within binary images. The software covers a range of fi
Xtreme-Firmware is a custom operating system for the Flipper Zero designed to expand hardware capabilities and remove software restrictions. It functions as a multi-protocol signal emulator for capturing and replaying RFID, NFC, Sub-GHz, and Infrared signals to test hardware security. The project features a specialized USB HID attack framework for sending keystroke payloads and spoofing device identifiers over USB and Bluetooth. It also includes a WiFi penetration testing suite for scanning, sniffing, and sending deauthentication frames using a wireless development board. Broad capabilities
BetterJoy is a software layer and driver for connecting Nintendo Switch Pro Controllers and Joy-Cons to a Windows environment via Bluetooth or USB. It functions as an XInput controller emulator and gamepad input mapper, translating Nintendo Switch controller inputs into XInput signals for use with PC games and emulators. The project includes a gyroscope mouse emulator that maps the internal gyroscope of Nintendo Switch controllers to system mouse cursor movement. It also provides a configuration interface for remapping controller buttons to custom keyboard keys. The software covers hardware
Bazzite is an immutable, atomic-image-based operating system designed for gaming performance and handheld hardware. It utilizes a read-only root filesystem and versioned images to provide atomic updates and instant system rollbacks, ensuring a stable core environment. The system is distinguished by its deep optimization for portable gaming devices, featuring dedicated handheld hardware management for CPU undervolting, fan control, and display refresh rate overclocking. It includes a specialized gaming mode that boots directly into a console-like interface with integrated input mapping and a t
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
ViGEmBus is a Windows kernel-mode driver and USB HID emulation framework that creates virtual gaming peripherals. It functions as a virtual gamepad driver that the operating system recognizes as physical hardware devices at the kernel level. The project enables kernel-level hardware mimicry to bypass game-specific device requirements and supports remote input redirection, allowing controller data to be sent over a network to a remote machine. The system covers a range of capabilities including USB game controller emulation and game input automation, which allows for the recording and playbac
Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD commands. It functions as an ARM and RISC-V debugger and hardware debug probe manager, enabling users to inspect memory, control execution, and manage registers on ARM Cortex and RISC-V cores. The project distinguishes itself by acting as a remote hardware debugging bridge that can stream GDB server traffic over TCP/IP to control physical hardware from a remote machine. It also provides a JTAG and SWD interface to connect host computers to target hardware and serves as an embedded f
This project is a C++ HTTP web server designed for the Linux environment. It functions as a high-performance network server that processes HTTP requests and delivers static files. The server utilizes a reactor model and a thread pool to handle high volumes of simultaneous connections. It employs a state machine and regular expressions for request parsing, while a min-heap timer system manages connection timeouts to automatically close inactive sockets. Additional capabilities include a database connection pooler to reduce handshake overhead and an integrated user authentication system for re
Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous
LidAngleSensor is a tool and sensor interface that retrieves the physical opening angle of a laptop screen by querying the internal Human Interface Device. It translates raw hardware sensor reports into a numerical representation of the lid's position. The project functions as a lid-triggered audio player and a screen region capture tool. It can monitor hardware sensor state changes to play specific sound effects when a laptop lid opens or closes and isolate a defined coordinate area of the display buffer to copy a specific screen region to the clipboard. The system handles hardware event au
Nannou is a creative coding framework for Rust designed for building interactive visual and audio sketches. It provides a loop-based API with hardware-accelerated 2D and 3D rendering, serving as a toolkit for generative art production and multimedia installation design. The framework is distinguished by its comprehensive hardware communication interface, which bridges software with physical devices via MIDI, OSC, DMX, serial, and laser DAC protocols. It also includes specialized projection mapping tools for warping visual output to fit non-standard physical surfaces and a dedicated GPU shader
ipwndfu is a collection of software utilities designed to exploit the iOS bootrom to enable unsigned code execution and firmware manipulation. The project provides tools to place Apple devices into a pwned DFU state, allowing the system to bypass secure boot signatures. The toolkit includes capabilities for hardware-based decryption, using a connected device's unique keys to decrypt data while in a restricted update mode. It also provides utilities for extracting system ROM and flash memory from the hardware for offline security analysis. The software covers broader hardware exploitation are
HelloWord-Keyboard is a modular keyboard hardware framework and a system for integrating interchangeable interaction modules, expansion docks, and coordinated firmware for screens and sensors. It functions as a USB HID device driver that reports keystrokes and receives control packets between a keyboard and a host computer. The project includes a brushless motor haptic controller using field-oriented control to simulate tactile feedback on rotary encoders. It also features a per-key RGB lighting controller that employs high-refresh-rate timing to create dynamic visual effects. The system cov
OpenGlass is an AI smart glasses framework and microcontroller hardware project designed to turn standard eyewear into computer vision wearables. It provides a system for integrating wearable camera sensors with multimodal AI to process visual data in real time. The project enables the development of AI-powered glasses that can identify people and objects, translate visual text, and record life events. It connects off-the-shelf electronic components to mobile software and large language models for visual analysis. The system covers a range of capabilities including real-time visual stream pr
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
This project provides hardware specifications and configuration sets for building programmable split mechanical keyboards and macro pads. It focuses on column-staggered designs that utilize the QMK firmware framework to manage input behaviors and keymaps. The hardware design emphasizes modularity and customization, featuring hotswap sockets for switch replacement without soldering, rotary encoders for specialized control, and low-profile switch options. Visual feedback is integrated through per-key RGB lighting and I2C-based OLED status displays. The system covers a broad range of capabiliti
Chips is a modular, header-only C library framework designed for building cycle-accurate hardware simulators and replicating historical eight-bit computing architectures. It provides the foundational components necessary to construct complete vintage systems by integrating individual emulated microprocessors and peripheral chips. The framework distinguishes itself through a component-based architecture where hardware modules are implemented as standalone headers that can be wired together to form complex systems. It models hardware interactions at a low level, utilizing pin-level signal emula
TrackWeight is a digital weighing instrument and pressure-to-weight converter designed to measure the mass of objects. It functions as a pressure sensor weight scale that translates data from a touch surface into weight measurements in grams. The system integrates pressure sensor data to enable digital weight measurement and embedded weight tracking. It converts raw pressure readings into standardized weight units to quantify the mass of objects or fingers in contact with a sensory surface. The implementation includes analog-to-digital signal conversion, linear regression calibration for acc
This project provides custom firmware and a suite of management tools for wireless thermometers and hygrometers. It replaces manufacturer software to improve measurement accuracy, extend battery life, and unlock configuration options not available in stock firmware. The system differentiates itself through a comprehensive set of administration utilities, including a device configurator for managing Bluetooth advertising and transmission power, and an over-the-air flasher for wireless software updates. It also features a climate data visualizer to retrieve and graph historical temperature, hum
The Go Mobile project is a framework and toolchain that enables Go developers to build native mobile applications for Android and iOS entirely in Go, or to compile Go packages into shared libraries that can be called from existing native mobile apps. It provides a complete set of libraries for handling mobile app lifecycle events, rendering 2D and 3D graphics through OpenGL ES, accessing device sensors like accelerometers and gyroscopes, processing touch and keyboard input, playing audio via OpenAL Soft, and reading bundled application assets. The project distinguishes itself by offering two
This library provides a collection of low-level abstractions for interacting with hardware peripherals on Raspberry Pi devices using the Rust programming language. It serves as a type-safe interface for controlling physical pins and managing communication with external electronic components and sensors. The project distinguishes itself through its use of compile-time abstractions that map high-level function calls directly to hardware instructions, ensuring minimal runtime overhead. It provides consistent access to hardware by wrapping kernel-level device interfaces and memory-mapped register
ZSWatch is a real-time operating system for wearable devices featuring a touch display and Bluetooth Low Energy connectivity. It provides a comprehensive software suite that includes a Bluetooth LE communication stack, an embedded UI framework for round displays, and a complete firmware toolchain for compiling, flashing, and simulating wearable hardware. The project is distinguished by its specialized wearable capabilities, such as a graphical framework for designing reactive screens and watchfaces via a visual editor. It implements a publish-subscribe messaging system to decouple hardware se
Parallax is a device motion parallax engine and interactive depth effect library. It provides the core logic and interfaces necessary to simulate visual depth by shifting scene layers based on a smart device gyroscope or mouse movement. The system functions as a device orientation controller that maps physical device rotation and cursor position to programmatic offsets. It distinguishes itself through a motion interface that handles relative orientation calibration, allowing the engine to calculate movement based on a cached starting position. The library covers motion behavior configuration
LibreHardwareMonitor is a .NET library and system health monitoring tool for Windows. It provides a programmatic hardware sensor API and a low-level interface to access real-time temperature, voltage, and fan speed data from computer hardware components. The project serves as a bridge between Windows operating system calls and physical sensors, allowing for the monitoring of processors, graphics cards, motherboards, storage devices, and network adapters. This enables the tracking of system stability and the collection of environmental changes across various hardware components. The software
Lunar is an adaptive monitor brightness controller and DDC/CI display manager. It allows for the control of hardware brightness, contrast, and volume on external monitors using native communication protocols. When direct hardware control is unavailable, it functions as a software gamma dimmer to simulate brightness reduction. The project synchronizes external monitor brightness with laptop light sensors, wireless lux meters, or astronomical sun position calculations. It also manages hardware monitor presets, enabling the automation of display configurations and input switching through custom
This project provides a lossless compression algorithm and a byte-oriented compression library designed for high-speed data reduction and maximum decompression speed. It functions as a stream-oriented compression engine, a software library for encoding and decoding data blocks, and a command-line tool for managing interoperable compressed frames. The system distinguishes itself through the use of predefined pattern dictionaries to improve compression ratios for small data sets and small packets. It supports multiple processing modes, including high-speed block compression for minimal latency