awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
probe-rs avatar

probe-rs/probe-rs

0
View on GitHub↗
2,599 stars·529 forks·Rust·apache-2.0·19 viewsprobe.rs↗

Probe Rs

probe-rs is an embedded debugging toolset used for flashing, debugging, and inspecting microcontrollers via hardware debug probes. It functions as an embedded firmware flasher, a memory manager for reading and writing to processor registers, and a server implementing the Debug Adapter Protocol to connect hardware debugging to various code editors.

The project includes a CMSIS-Pack target parser to extract device metadata and flash configurations from industry-standard definition files. It provides a driver-based probe abstraction to interact with various hardware debug probes regardless of the underlying transport protocol.

The toolset covers processor execution management, including the ability to halt, run, or step through code and manage hardware breakpoints. It supports real-time target monitoring through high-speed data streaming and log capture via ringbuffers. Additional capabilities include hosting a GDB server and exporting data channels through network sockets for external analysis.

Features

  • Firmware Flashing - Downloads and executes compiled binary firmware on target microcontrollers using debug probes and flash algorithms.
  • Embedded Systems Debugging - Provides a comprehensive toolset for flashing, debugging, and inspecting embedded microcontrollers via hardware debug probes.
  • Device Metadata Definitions - Parses metadata files to resolve device-specific memory maps, flash algorithms, and processor core details.
  • Debug Adapter Protocol Implementations - Implements a server that provides the Debug Adapter Protocol to allow various code editors to control hardware debugging.
  • Breakpoint Debugging - Provides the ability to halt, run, and step through code on a target core using hardware breakpoints.
  • Register and Variable Monitors - Allows real-time monitoring and modification of core registers and program variables during execution.
  • Microcontroller Flashers - Uploads compiled binary firmware to target microcontrollers using device-specific flash algorithms.
  • RAM-Based Flash Algorithms - Executes device-specific RAM programs on the target to write binary data into non-volatile flash memory.
  • Direct Memory Access - Provides direct read and write access to the raw memory addresses of a target microcontroller.
  • Execution Flow Control - Enables stepping through code at instruction levels and managing hardware breakpoints to analyze program flow.
  • Register State Inspectors - Provides utilities to inspect and manipulate CPU register values to track and control program state.
  • Target Memory Managers - Provides a system for reading and writing to the memory and registers of a target processor.
  • Debug Probe Interfaces - Provides a driver-based abstraction layer to interface with various hardware debug probes.
  • Hardware Configuration Extraction - Parses device configuration files to generate simplified descriptions containing critical metadata and binary data.
  • GDB Server Implementations - Hosts a network interface that allows external GDB debuggers to control target hardware and inspect internal state.
  • CMSIS-Pack Parsers - Extracts device metadata and flash configurations from industry-standard CMSIS-Pack target definition files.
  • Debug Probe Abstractions - Provides a mechanism to connect to microcontrollers using standard probe drivers or custom hardware logic.
  • Device Support Configurations - Provides the capability to create new device support configurations using standard device packs or custom flash algorithms.
  • Embedded Data Streaming - Implements a high-speed duplex communication mechanism using ringbuffers for transferring data between host and target.
  • Real-Time Target Monitoring - Streams logs and data channels from a microcontroller to a host computer for live system observation.
  • Debug Data Streams - Uses ringbuffers for high-speed duplex streaming of real-time debug logs and telemetry between host and target.
  • Real-Time Application Log Monitoring - Streams data from target logging channels (RTT) to a terminal for real-time system monitoring.
  • Embedded Log Capture - Retrieves execution logs and stack traces from a target device using standardized logging protocols.
  • Development Tools - Modern debugging toolkit for embedded hardware.
  • Embedded Development - Toolkit for flashing and debugging ARM/RISC-V microcontrollers.

Star history

Star history chart for probe-rs/probe-rsStar history chart for probe-rs/probe-rs

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Probe Rs

Similar open-source projects, ranked by how many features they share with Probe Rs.
  • blackmagic-debug/blackmagicblackmagic-debug avatar

    blackmagic-debug/blackmagic

    3,715View on GitHub↗

    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

    View on GitHub↗3,715
  • stlink-org/stlinkstlink-org avatar

    stlink-org/stlink

    5,093View on GitHub↗

    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

    Carmboardchip
    View on GitHub↗5,093
  • espressif/esptoolespressif avatar

    espressif/esptool

    6,393View on GitHub↗

    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

    Python
    View on GitHub↗6,393
  • platformio/platformio-coreplatformio avatar

    platformio/platformio-core

    9,299View on GitHub↗

    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

    Python
    View on GitHub↗9,299
See all 30 alternatives to Probe Rs→

Frequently asked questions

What does probe-rs/probe-rs do?

probe-rs is an embedded debugging toolset used for flashing, debugging, and inspecting microcontrollers via hardware debug probes. It functions as an embedded firmware flasher, a memory manager for reading and writing to processor registers, and a server implementing the Debug Adapter Protocol to connect hardware debugging to various code editors.

What are the main features of probe-rs/probe-rs?

The main features of probe-rs/probe-rs are: Firmware Flashing, Embedded Systems Debugging, Device Metadata Definitions, Debug Adapter Protocol Implementations, Breakpoint Debugging, Register and Variable Monitors, Microcontroller Flashers, RAM-Based Flash Algorithms.

What are some open-source alternatives to probe-rs/probe-rs?

Open-source alternatives to probe-rs/probe-rs include: blackmagic-debug/blackmagic — Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD… stlink-org/stlink — stlink is a toolset for ARM Cortex-M flashing, firmware management, and debug server operations, with specific support… espressif/esptool — esptool is a Python-based serial utility designed for flashing firmware, configuring hardware fuses, and provisioning… platformio/platformio-core — PlatformIO Core is a toolset for embedded software development that manages the compilation, flashing, and debugging… korcankaraokcu/pince — PINCE is a dynamic debugger, instruction tracer, and memory scanner designed for the analysis and manipulation of… puremourning/vimspector — Vimspector is a visual debugger integration for Vim that enables developers to step through code and inspect program…