Home Getting Started About Download Source Report An Issue
A debug interface for embedded systems development on Linux
Open-source, licensed under the LGPLv3

Debug Embedded Systems

Bloom interfaces with a number of debug tools to gain access to over 200 microcontroller targets. An interface to the connected target is exposed via a GDB Remote Serial Protocol (RSP) server. Any IDE with GDB RSP client capabilities can, via the interface, gain access to the connected target for debugging operations.


As well as a GDB RSP debug server, Bloom provides a GUI for insight into the connected target. See Bloom Insight documentation for more.

Register Access (inline values, loaded automatically)

The Insight window provides access to all known target registers within the data address space. Register values are automatically loaded and presented inline, upon target execution being halted (breakpoint reached, execution interrupted, etc).

Register Inspection & Manipulation

Inspect and manipulate the value of all known registers within the data address space. Insight also keeps track of any changes made to a register via Bloom. This includes changes made via memory write operations triggered by the debug server (via the connected client).

Support For EDBG-based Debug Tools

MPLAB Snap (in AVR mode)
Power Debugger
Power Debugger

Bloom supports most EDBG-based debug tools. Support for the MPLAB PICkit 4 is being considered. See the GitHub issue for more.

Built For CLion

Although Bloom can interface with any GDB RSP client, it was built for CLion. CLion's integrated debugger offers a range of useful debugging functions, many of which become available for embedded development when used with Bloom. Conditional breakpoints, evaluating expressions, memory view & manipulation, inline values, and much more.

For instructions on configuring CLion to interface with Bloom, see Debugging embedded systems with CLion and Bloom