-
Notifications
You must be signed in to change notification settings - Fork 41
Hardware > Debug probe: clarity, style, and consistency issues fixed #356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: public-release
Are you sure you want to change the base?
Changes from all commits
fda6707
77451d0
df8da62
4e4392b
3cafc4e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,51 +6,51 @@ createdAt: Wed May 3 2026 18:02:16 GMT+0000 (Coordinated Universal Time) | |
| updatedAt: Wed May 3 2026 18:22:47 GMT+0000 (Coordinated Universal Time) | ||
| --- | ||
|
|
||
| The Flipper One Debug Probe enables debugging of Flipper One without fully disassembling the device. It connects via a ribbon cable to the debug port located behind the back plate of Flipper One. | ||
| The Debug Probe lets you access the Flipper One debug interface without full disassembly. It connects to the debug port behind the back plate using a ribbon cable. | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
|  | ||
|
|
||
| The Flipper One Debug Probe is based on the RP2350 microcontroller. Its hardware design, manufacturing files, and firmware source code are fully open. | ||
| Built around the RP2350 microcontroller, the Flipper One Debug Probe is fully open source, including its hardware design, manufacturing files, and firmware source code. | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
| ## Features | ||
|
|
||
| The Debug Probe provides the following functionality: | ||
|
|
||
| * **Debug probe for Flipper One MCU (RP2350)** via SWD (Serial Wire Debug). It supports CMSIS-DAP and allows control over CPU execution, access to memory and peripherals, and programming of the MCU flash. The MCU Firmware VS Code project is preconfigured for CMSIS-DAP debugging, allowing you to start a debug session using Debug Probe immediately. | ||
| * **USB-serial #1** for access to the Flipper One Linux terminal. | ||
| * **USB-serial #2** for access to the Flipper One MCU CLI (Command Line Interface). | ||
| * **USB-serial #3** for real-time reading of Flipper One MCU logs. | ||
| * **USB-serial #4** for access to the Debug Probe CLI (Command Line Interface). | ||
| * **USB-GPIO bridge** providing access to several GPIO pins of the Flipper One CPU and MCU. These pins can be read and write through the Debug Probe CLI. | ||
| * **MCU debugging via SWD (Serial Wire Debug)**: the probe supports CMSIS-DAP, allowing you to control CPU execution, access memory and peripherals, and program the Flipper One MCU (RP2350) flash. The MCU Firmware VS Code project is preconfigured for CMSIS-DAP debugging, so you can start a debug session right away. | ||
| * **USB-serial 1**: Flipper One Linux terminal. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why not use
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Just reducing the amount of items that don't have any specific meaning but add up space. |
||
| * **USB-serial 2**: Flipper One MCU CLI. | ||
| * **USB-serial 3**: real-time Flipper One MCU logs. | ||
| * **USB-serial 4**: Debug Probe CLI. | ||
| * **USB-GPIO bridge**: access to several GPIO pins of the Flipper One CPU and MCU. You can read from and write to these pins through the Debug Probe CLI. | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
| ## Buttons and LEDs | ||
|
|
||
|  | ||
|
|
||
| The Debug Probe has 2 buttons: | ||
| * **CPU RESET** — resets the Flipper One CPU (RK3576). | ||
| * **MCU RESET & PROBE BOOT** — resets the Flipper One MCU (RP2350) and puts the Debug Probe into BOOTSEL mode for firmware flashing. | ||
| The Debug Probe has two buttons: | ||
| * **CPU RESET**: resets the Flipper One CPU (RK3576). | ||
| * **MCU RESET & PROBE BOOT**: resets the Flipper One MCU (RP2350) and puts the Debug Probe into BOOTSEL mode for firmware flashing. | ||
|
|
||
| The Debug Probe has the following LEDs: | ||
| * MCU power LED (3.3V) | ||
| * MCU UART activity LEDs (Tx and Rx). | ||
| * MCU `IO40` and `IO41` pin state LEDs. | ||
| * CPU UART activity LEDs (Tx and Rx). | ||
| * CPU `GPIO0_D2` and `GPIO0_D3` pin state LEDs. | ||
| * Debug Probe `IO20` pin state LED. | ||
| * **MCU power**: 3.3V power status. | ||
| * **MCU UART activity**: Tx and Rx. | ||
| * **MCU `IO40` and `IO41` pin state**: pin state indication. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "pin state" twice |
||
| * **CPU UART activity**: Tx and Rx. | ||
| * **CPU `GPIO0_D2` and `GPIO0_D3` pin state**: pin state indication. | ||
| * **Debug Probe `IO20` pin state**: pin state indication. | ||
|
galleon8 marked this conversation as resolved.
galleon8 marked this conversation as resolved.
|
||
|
|
||
| ## Connectors | ||
|
|
||
| The Flipper One Debug Probe has: | ||
| * **USB port** for connection to a PC. | ||
| * **Debug port** for connecting to the Flipper One debug port. | ||
| * **5-pin header** for connecting a logic analyzer or oscilloscope to CPU and MCU pins. | ||
| The Flipper One Debug Probe has the following connectors: | ||
| * **USB port**: connection to a PC. | ||
| * **Debug port**: connection to the Flipper One debug port. | ||
| * **5-pin header**: interface for a logic analyzer or oscilloscope to monitor CPU and MCU pins. | ||
|
|
||
|  | ||
|
|
||
| ## Schematics | ||
|
|
||
| The debug probe hardware is open source and available as a [public Altium 365 project](https://flipper.365.altium.com/designs/14B8CA82-B532-4581-BF6F-641FED8AF7F5). You can view and export the schematic, PCB layout, 3D model, manufacturing drawings, and BOM (bill of materials). | ||
| The Debug Probe hardware is open source and available as a [public Altium 365 project](https://flipper.365.altium.com/designs/14B8CA82-B532-4581-BF6F-641FED8AF7F5). The project allows you to view and export the schematic, PCB layout, 3D model, manufacturing drawings, and bill of materials (BOM). | ||
|
|
||
|  | ||
|
|
||
|
|
@@ -60,92 +60,94 @@ The Flipper One Debug Probe firmware is open source. The full firmware source co | |
|
|
||
| Below are instructions on: | ||
|
|
||
| - [How to build the firmware](./#how-to-build-firmware). | ||
| - [How to flash the firmware via USB](./#how-to-flash-firmware). | ||
| - [How to build the firmware](/hardware/Debug-probe#how-to-build-firmware). | ||
| - [How to flash the firmware via USB](/hardware/Debug-probe#how-to-flash-firmware). | ||
|
Comment on lines
+63
to
+64
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Absolute links will not survive moving/renaming the document. There's absolutely no need to make internal TOC links absolute.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok, I see. They were not working locally. |
||
|
|
||
| ### How to build firmware | ||
|
|
||
| In this guide, you will learn how to build the firmware (`.UF2`) from source code. The resulting file can be uploaded to the Flipper One Debug Probe MCU via USB. | ||
| This guide explains how to build the firmware (`.UF2`) from source code. The resulting file can be flashed (uploaded) to the Flipper One Debug Probe MCU via USB. | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
| To build the firmware: | ||
| Prerequisites: | ||
|
|
||
| :::::WorkflowBlock | ||
| :::WorkflowBlockItem | ||
| Install [Visual Studio Code](https://code.visualstudio.com/), [Python](https://www.python.org/downloads/), and [git](https://git-scm.com/). | ||
| Install [Visual Studio Code](https://code.visualstudio.com/), [Python](https://www.python.org/downloads/), and [Git](https://git-scm.com/). | ||
| ::: | ||
| ::::: | ||
|
|
||
| Build the firmware: | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
| :::::WorkflowBlock | ||
| :::WorkflowBlockItem | ||
| Open a terminal in the folder where you want to store the Debug Probe firmware source code. | ||
| In a terminal, go to the folder where you want to store the Debug Probe firmware source code. | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Clone the MCU firmware repository to your computer: | ||
| Clone the MCU firmware repository: | ||
|
|
||
| `git clone --recursive https://github.com/flipperdevices/flipperone-debug-probe` | ||
| ```shell | ||
| git clone --recursive https://github.com/flipperdevices/flipperone-debug-probe | ||
| ``` | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Open Visual Studio Code and go to **File → Open Folder...** and select the **flipperone-debug-probe** folder you just cloned. | ||
| Open Visual Studio Code, go to **File > Open Folder...**, and select the **flipperone-debug-probe** folder cloned. | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Visual Studio Code will prompt you to install the recommended extensions. Click **Install** to accept, and wait until the process is complete. | ||
| When Visual Studio Code prompts you to install the recommended extensions, click **Install** and wait for the process to complete. | ||
|
|
||
|  | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Click **Raspberry Pi Pico Project** in the left sidebar. | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Click **Configure CMake**. | ||
| In the **Activity Bar** (left sidebar), click the **Raspberry Pi Pico Project** icon to open the project. | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Click **Compile Project**. | ||
| In the opened **Raspberry Pi Pico Project** view, click **Configure CMake**, and then click **Compile Project** to build the firmware. | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
|  | ||
|
|
||
| ::: | ||
| ::::: | ||
|
|
||
| :::hint{type="success"} | ||
| After a successful build, the resulting `UF2` file will be located in the `flipperone-debug-probe/build` folder. | ||
| After a successful build, the resulting `.UF2` file is located in the `flipperone-debug-probe/build` folder. | ||
|
galleon8 marked this conversation as resolved.
|
||
| ::: | ||
|
|
||
| ### How to flash firmware | ||
|
|
||
| In this guide, you will learn how to flash the firmware (`.UF2`) to the Flipper One Debug Probe via USB: | ||
| This guide explains how to flash the firmware (`.UF2`) to the Flipper One Debug Probe via USB: | ||
|
|
||
| :::::WorkflowBlock | ||
| :::WorkflowBlockItem | ||
| Get the `.UF2` firmware file. | ||
| - [Download the file from the repository](https://github.com/flipperdevices/flipperone-debug-probe/releases) | ||
| Get the `.UF2` firmware file: | ||
| - [Download from repository](https://github.com/flipperdevices/flipperone-debug-probe/releases) | ||
|
galleon8 marked this conversation as resolved.
|
||
| or | ||
| - [Build the file from source code](./#how-to-build-firmware) — if you modified the firmware. | ||
| - [Build from source code](./#how-to-build-firmware) if you modified the firmware. | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Switch the Debug Probe MCU to BOOTSEL mode by holding the **MCU RESET & PROBE BOOT** button while connecting the Debug Probe to a PC via USB. | ||
| Hold the **MCU RESET & PROBE BOOT** button and connect the Debug Probe to a PC via USB. The Debug Probe MCU switches to **BOOTSEL** mode. | ||
|
|
||
|  | ||
|
|
||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| After switching the Debug Probe MCU to BOOTSEL mode, the device appears on your PC as a Mass Storage Device named RP2350. | ||
| After the Debug Probe MCU enters **BOOTSEL** mode, the device appears on your PC as the **RP2350** mass storage device. | ||
|
galleon8 marked this conversation as resolved.
|
||
|
|
||
| If it does not appear, try a different USB cable and repeat the BOOTSEL procedure. | ||
| If it does not appear, try a different USB cable and repeat the **BOOTSEL** procedure. | ||
| ::: | ||
|
|
||
| :::WorkflowBlockItem | ||
| Upload the `.UF2` firmware file to the RP2350 Mass Storage Device. | ||
| Upload the `.UF2` firmware file to the **RP2350** mass storage device. | ||
| ::: | ||
| ::::: | ||
|
|
||
| :::Iframe{code="<video
 autoplay muted loop playsinline style="width: 100%; margin: 0 !important;"
 src="https://cdn.flipperzero.one/Update-debug-probe-firmware-compressed.mp4"
></video>" iframeHeight="350"} | ||
| ::: | ||
|
|
||
| :::hint{type="success"} | ||
| Once the `.UF2` file upload is complete, the Debug Probe will automatically reboot and the Mass Storage Device will disconnect from your PC — the Ddebug Probe has been successfully updated. | ||
| Once the `.UF2` file has been uploaded, the Debug Probe automatically reboots and the **RP2350** mass storage device disconnects from your PC. The Debug Probe has been successfully updated. | ||
|
galleon8 marked this conversation as resolved.
|
||
| ::: | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you resize the images? The first one, showing a large portion of the screen, is now smaller (width of 1475), and the second, showing a smaller portion, is larger (width of 1984).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reduced the number of steps in the procedure, so I had to mirror this in the screen as it showed different numbers in it. Resizing is unintentional — please do whatever fits best, just make sure the number of steps in the procedure and its reference in the screen is the same.