Home Getting Started Download Discussions Source Report An Issue
On-chip debugging for AVR microcontrollers, on GNU/Linux
Open-source, licensed under the LGPLv3

Bloom interfaces with a number of debug tools to gain access to over 200 AVR 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.

Since version 0.10.0, Bloom can program the connected target via GDB's 'load' command. See Programming the AVR target for more.


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

Memory Inspection (with annotated & excluded regions)

Inspect RAM and EEPROM within Insight. Define focused regions to enable memory annotations in the hex viewer. Specifying the data type and endianness of a given region will enable Bloom to present the current value of the memory, in the form of a value annotation (as shown above):

Define excluded regions to prevent Insight from accessing or presenting the data within. Other functions: highlight stack memory, ASCII view, go-to address.

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
Curiosity Nano
Curiosity Nano
Xplained Pro
Xplained Pro
Xplained Mini
Xplained Mini & Nano
MPLAB PICkit 4 (in AVR mode)

Bloom supports most EDBG-based debug tools. Users can request support for other debug tools via https://bloom.oscillate.io/report-issue (GitHub account required).

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