Telemetry Review for Test Engineers: CSV, ULog and MCAP Data Without the Python Detour

You are a test engineer. A subsystem test finished an hour ago, the results sit in files — a CSV export here, a ULog there, an MCAP recording from the rig — and someone needs a verdict before the next test slot. The usual detour is Python: load each file, remember each format’s quirks, write plotting code, and only then start thinking. PlotJuggler exists to remove that detour for the review step. It is a free desktop application (MPL-2.0, no account) that loads the file formats test rigs actually produce, plots them by dragging signals onto charts, and lets you derive and compare values in the window — so the first plot is minutes away, and the thinking starts sooner.

What PlotJuggler loads directly

Your fileIn PlotJugglerNotes
CSVLoads directly.The universal export format of test equipment and loggers; see the CSV import guide for the timestamp and header details that decide whether a file plots cleanly.
ULog (PX4)Loads directly.The flight-log format, reviewed with the workflow in our PX4 analysis guide.
MCAPLoads directly.The recording format used across modern ROS 2 setups; our rosbag and MCAP guide covers loading, and MCAP files that won’t open covers the failure cases.
TDMSNo documented loader.Stated plainly: PlotJuggler has no documented TDMS loader. Export the channels you need to CSV from your existing tooling first, then review the CSV. That one conversion step is the honest price for TDMS data — anyone who tells you otherwise is guessing.

The same application also handles rosbag recordings and, on the PlotJuggler 4 line, Parquet files, plus live streams (MQTT, WebSocket, ZeroMQ, UDP and others) when the rig can send data while a test runs. For a review workflow, though, the file loaders above are the working set.

The review workflow, under time pressure

  1. Load everything for this test into one session. PlotJuggler 4 can hold several recordings at once, so the CSV from the bench instrument and the MCAP from the rig can be reviewed together rather than in separate tools.
  2. Align before you judge. If two files describe the same test, their clocks may differ. Use time offsets to line up a shared event first — our time offset guide shows the per-curve version — otherwise you will chase timing differences that are really recording differences.
  3. Plot the acceptance signals first. Whatever the test was supposed to prove, plot those series before exploring. Limits, setpoints and measured values on one chart answer the pass/fail question fastest.
  4. Derive, don’t export. Need a difference, a rate, or a scaled value? Built-in transforms (derivative, integral, moving average, scale) and Lua custom functions — Python as well on PlotJuggler 4 — produce it in place, without round-tripping the data through a script.
  5. Save the layout. The same subsystem will be tested again. A saved layout turns the next review into: load file, open layout, read verdict.

“But I already have Python scripts”

Keep them — for automation, batch processing and reports, scripting is the right tool, and nothing here replaces it. The claim is narrower: for the interactive review in the middle of a test day, opening a file and dragging signals is faster than editing and rerunning a script each time a new question occurs to you, and each follow-up question (“what was the other channel doing at that moment?”) costs seconds instead of another code cycle. Many engineers end up using both: PlotJuggler to find the moment and the cause, a script afterwards to check every historical file for the same pattern.

Setup burden, honestly

The scepticism is reasonable, so the facts: PlotJuggler is a single desktop application for Windows and Linux, distributed from its project releases, free and open source under MPL-2.0, with no account, no licence server and no cloud upload — your test data stays on your machine, which for many test organisations is not a preference but a requirement. There is no official macOS binary in the current line, which is a real limitation if your bench machine is a Mac. Very large recordings can also need the practical handling in our large-file guide. Within those limits, the setup burden is: install one application, open your file.

Sharing the test data itself

When a review needs a second pair of eyes at another site, the recordings still have to travel somehow. pCloud is one straightforward option for storing and sharing large test files such as MCAP recordings and log archives with colleagues. However you share data, check your organisation’s rules for test results first.

(affiliate links)

The detour through a general-purpose script is sometimes necessary. For the everyday review of CSV, ULog and MCAP results, it usually is not — and the hour between a test finishing and its verdict is exactly where that difference is worth most.

Similar Posts