RM Classic is a real-time data monitoring tool for embedded systems development. It lets you observe and modify live variables in a running MCU over UART — all you need is a serial connection, no JTAG adapter or debug probe required.
- Windows 10 or later
- No installation — download the single
.exefrom Releases
Observe statically allocated variables by address and type. Values update continuously without halting the MCU or requiring breakpoints.
Write new values to variables at runtime to test parameter changes or directly override system behavior.
RM Classic exposes a TCP server interface that allows external programs to read and write variables programmatically.
- Automated test sequences — drive parameter changes and read results from Python or MATLAB with precise, repeatable timing.
- Instrument integration — synchronize with external measurement devices to automate data collection and inspection workflows.
All observed values are recorded continuously in the background. Use Copy Log to capture a snapshot at any moment; use Dump to read a raw block of MCU memory by address and size.
A built-in terminal — similar to the Arduino IDE Serial Monitor — lets you send and receive plain text over the same UART connection alongside the monitoring protocol, useful for printf-style debug output from firmware.
The following example uses an Arduino Uno with the rm_embedded sample sketch.
- Flash the MCU — upload
RmSample/RmSample.inoto your Arduino Uno. - Connect the Arduino to your PC.
- Download RM Classic from Releases and run the
.exe. - Load the configuration — go to File > Open > View File and open
RMConfiguration--RmSample.rmxml(included in the rm_embedded repository). - Configure the connection — set baud rate to 9600 bps, password to
0x0000FFFF, and address width to 2 bytes. - Connect — click Comm Open. The version string
RmSampleconfirms a successful connection.
Variables such as count and isCounting are now visible and editable in real time.
The wire format between RM Classic and MCU firmware is documented in RM_Protocol_Specification.md.
Firmware library and integration examples for connecting MCUs to RM Classic are available in the rm_embedded repository.
This project is licensed under the MIT License. See the LICENSE file for details.
