30 open-source projects similar to probe-rs/probe-rs, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Probe Rs alternative.
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
stlink is a toolset for ARM Cortex-M flashing, firmware management, and debug server operations, with specific support for STM32 microcontrollers. It provides an ARM Cortex-M flash programmer for writing binary and hex files, an ITM trace logger for real-time instrumentation data, and a SWD/JTAG debug server. The project includes a graphical user interface for managing MCU firmware and exporting memory, as well as a remote server that allows external debuggers to control execution and inspect registers on target hardware. The toolset covers microcontroller memory management through flash era
esptool is a Python-based serial utility designed for flashing firmware, configuring hardware fuses, and provisioning Espressif system-on-chip devices. It functions as a serial firmware flasher and hardware provisioning tool that interacts with chips over a serial connection to enable program execution and device setup. The tool provides specialized capabilities for managing Espressif hardware, including the ability to set permanent electronic fuses to lock security settings and define hardware-level configurations. It also features a serial communication bridge that routes network traffic to
PlatformIO Core is a toolset for embedded software development that manages the compilation, flashing, and debugging of firmware for various microcontroller targets. It provides a cross-platform build system that automates the process of transforming source code into binaries and transferring them to hardware via serial protocols. The system uses a plugin-based architecture to extend hardware platform support and incorporates a manifest-driven approach to resolve and install the specific toolchains, frameworks, and libraries required for different board definitions. Capabilities cover the fu
PINCE is a dynamic debugger, instruction tracer, and memory scanner designed for the analysis and manipulation of running processes. It functions as a process memory manipulator and editor, allowing for the identification, modification, and monitoring of values within a target application's active memory. The tool distinguishes itself through memory pointer analysis, tracing addresses and offsets to locate static pointers that lead to dynamic data across different sessions. It also enables the execution of internal functions within a running process by manipulating the instruction pointer and
Vimspector is a visual debugger integration for Vim that enables developers to step through code and inspect program state without leaving the editor. It utilizes the Debug Adapter Protocol to provide a unified interface for debugging multiple programming languages through various debug adapters. The project distinguishes itself by supporting low-level analysis and specialized environments, including bare metal hardware debugging for microcontrollers and the ability to perform disassembly analysis and process memory dumping. It also provides remote debugging capabilities by proxying requests
STM32duino-bootloader is a firmware bootloader and microcontroller firmware flasher designed for STM32 microcontrollers. Operating as a low-level startup routine, it initializes microcontroller peripherals, handles USB communication routines, and launches user applications upon system reset. This enables direct USB programming and application execution on the hardware without requiring external hardware programmers. The bootloader supports firmware updates by presenting the microcontroller as a USB storage device that accepts binary drag-and-drop file transfers. It writes incoming firmware by
HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
This project is a diagnostic adapter that connects code editors and standalone tools to running runtime processes using the standard Debug Adapter Protocol. It functions as a JavaScript and TypeScript debug implementation that maps compiled code back to original source files using sourcemaps, allowing developers to set breakpoints, inspect variables, and evaluate expressions without manual configuration. The tool handles cross-environment code execution by automatically attaching to child processes, worker threads, service workers, and terminal processes. It supports advanced debugging capabi
This project is a software-defined radio platform designed to capture, analyze, and broadcast radio frequency signals across a wide spectrum. It provides a programmable hardware interface for transmitting and receiving radio signals, enabling spectrum analysis and wireless data monitoring. The system is distinguished by its ability to synchronize multiple devices using a shared external clock and hardware triggers to ensure precise timing and sample accuracy. It supports advanced signal routing, allowing ports to be mapped based on frequency or time to enable specialized operations like pseud
This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj
CircuitPython is a specialized derivative of the MicroPython runtime designed as an embedded Python interpreter for microcontrollers. It provides a high-level language environment that allows for direct hardware access through a dedicated hardware abstraction layer and a Python microcontroller runtime. The project is distinguished by firmware that exposes the microcontroller as a native USB mass storage device. This allows users to edit code directly on the device as if it were a removable drive, eliminating the need for specialized flashing tools and enabling filesystem-triggered code reload
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
The sysroot manager that lets you build and customize std
Arduino CLI is a command line interface for compiling, uploading, and managing libraries and board cores for Arduino-compatible hardware. It functions as a microcontroller toolchain manager and hardware programming tool, providing utilities to discover and install the platform definitions and compilers required for various hardware architectures. The project features an RPC-enabled development daemon that allows external programs to trigger internal tool operations and manage automated electronics workflows programmatically. It also includes an interactive hardware debugger for real-time trou
This project is a command-line task runner designed to manage project-specific workflows through a centralized, configuration-driven interface. It functions as a declarative tool for organizing build logic, environment variables, and task dependencies into a structured format, enabling the automation of complex development pipelines. The tool distinguishes itself by providing a shell-agnostic execution layer that ensures consistent behavior across Windows, macOS, and Linux. It supports advanced workflow orchestration by constructing directed acyclic graphs to manage task prerequisites, while
Tinymist is a comprehensive suite of tools for Typst document authoring, serving as a language server, document compiler, and project manager. It provides a standardized language service via the Language Server Protocol to enable editor features such as autocompletion, navigation, and semantic highlighting. The project distinguishes itself by integrating a TCP-based live preview server for real-time visual rendering and an advanced static analysis tool that utilizes abstract syntax trees and bidirectional type checking. It also includes a project management system capable of handling multi-fi
Stern is a Kubernetes command-line debugging tool and log aggregator designed for streaming and filtering logs from multiple pods and containers. It functions as a log tailing utility that consolidates real-time data from distributed resources into a single, color-coded output. The tool uses regular expressions to select pods and filter log content, allowing for the isolation of specific system events. It automatically tracks the lifecycle of resources, using a watch mechanism to attach to new pods that match filter criteria and removing deleted ones from the active view. Capabilities includ
GalaxyBudsClient is a desktop application designed for the configuration and management of Samsung Galaxy Buds. It serves as an interface for controlling earbud hardware, providing a way to adjust settings and customize device behavior without the official mobile application. The project includes specialized utilities for firmware flashing and hardware diagnostics. It enables the modification of device firmware using binary files and allows for the retrieval of detailed hardware metadata, bond lists, and the execution of factory self-tests. The application covers audio customization, such as
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
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
Hekate is a bootloader and system recovery tool for Nintendo Switch hardware. It functions as a multi-OS boot manager that allows the execution of binary payloads and the launching of stock firmware, custom firmware, Android, and Linux through a graphical interface. The project provides a suite of recovery and system modification tools, including the ability to create and restore full backups of internal storage. It also features a USB HID gamepad emulator that maps device controller inputs to USB signals for interacting with external computers. The software covers broad capability areas inc
Digital is a digital logic circuit simulator and hardware design verification tool. It provides a visual environment for designing, testing, and verifying electronic circuits using event-based simulation and automated logic synthesis. The platform functions as a logic synthesis tool that applies boolean algebra to minimize gate configurations and convert truth tables into efficient hardware. It also serves as an HDL export tool, translating visual circuit graphs into VHDL or Verilog code, and as a CPLD deployment tool that generates JEDEC files for flashing programmable logic chips. The soft
TIC-80 is a fantasy console platform and multi-language game engine that provides a virtual retro game development environment. It operates via a bytecode virtual machine that executes game logic within fixed memory and resolution constraints. The project distinguishes itself by offering integrated asset editors for pixel art, tile maps, and a pattern-based chiptune audio workstation all within a single environment. It supports multi-language scripting, allowing developers to write logic in Lua, JavaScript, or Ruby, and provides a standalone game exporter to package projects into native execu
This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa
JPEX Software is a comprehensive reverse engineering suite for SWF binary files, serving as an ActionScript decompiler and editor. It provides a toolkit for decompiling, analyzing, and modifying the internal structure of compiled Flash content, including the extraction of scripts and media assets. The project is distinguished by its ability to perform direct binary modification, allowing users to edit bytecode and replace embedded resources without reverting to high-level source code. It includes a runtime ActionScript bytecode debugger for variable inspection and call stack analysis, as well
Seer is a graphical frontend for GDB that provides a visual interface for inspecting variables, managing breakpoints, and stepping through code. It functions as a low-level debugger visualizer with specialized tools for call stack inspection and register visualization. The project distinguishes itself by integrating low-level program analysis directly into the visual experience, featuring a synchronized assembly overlay that maps CPU registers and assembly instructions to source code lines. It also includes memory bug detection capabilities by randomizing the program starting address during t
Qira is a runtime analysis tool and interactive binary debugger designed for the QEMU emulator. It functions as a binary execution tracer that records a full timeline of instruction invocations and provides a system for monitoring memory operations within guest processes. The project enables the analysis of compiled binaries by tracing instruction-level execution and mapping raw memory addresses to user-defined annotations. It includes capabilities for state-snapshotting to manage execution forks, allowing the navigation of divergent logic paths and the inspection of CPU register states and s