View and Analyze Measurement Data From Any Format

Data Sensors opens CSV, MAT, MDF/MF4, and TXT files directly - no conversion step, no separate reader tool - and can also import CAN and CAN FD bus traces decoded against a signal database, displaying any number of channels across multiple strips, with the same kind of multi-axis, dual-cursor viewing engineers already expect from tools like ETAS MDA, imc FAMOS, or CANalyzer, in a desktop app that never sends your data anywhere.

Open CSV, MAT, MDF/MF4, or TXT files directly

Whatever your measurement setup already writes to disk - a plain CSV export, a MATLAB .mat file, or an MDF/MF4 recording from a data logger or ECU - Data Sensors reads it directly. Every channel's own sample rate is resampled onto one uniform time grid on open, so signals originally logged at different rates line up correctly from the first strip you create, without any manual alignment step.

Strips, independent axis grouping, and dual cursors

Drag any channel onto a strip, or create as many strips as your analysis needs. Signals sharing a unit group onto one shared y-axis automatically, so a torque channel doesn't get squeezed onto the same scale as an RPM channel by accident. Two draggable cursors show each signal's value - and the delta between them once both are placed - directly in every strip's own values table, with zoom and pan synced across the whole session so every strip stays aligned to the same time window.

Strip view with two cursors placed and a values table showing readings at each cursor

Derive new signals with a live formula editor

Not every signal you need is one your data logger actually recorded. Data Sensors' calculated-signal editor lets you write an expression referencing any real or already-calculated channel by name, with malformed expressions caught as you type rather than only on save - useful for anything from a simple unit conversion to combining several raw channels into the exact target signal you want to train a virtual sensor against.

Calculated Signals panel defining a new signal named power from the expression torque times motor_speed

Save your session, export any strip as an image

A whole session - strip layout, which signals are on each, calculated signals, virtual sensor signals, strip background color, and sample rate - saves to a single JSON config file you can reopen later or hand to a colleague. Save, Save As, and Open all behave the way you'd expect from any desktop app, and the window title picks up an asterisk the moment something changes so you always know whether the session on screen matches the file on disk. Any strip, or all of them at once (including ones currently off-screen), can be exported as a PNG for a report, with the source file's own path stamped at the bottom of the image.

Exported strip image showing EngineSpeed and CoolantTemp with the source file's path stamped at the bottom

Import CAN and CAN FD bus traces

Bring in a Vector .asc or .blf trace and decode it against its .dbc signal database - Data Sensors handles the bit-level extraction itself, including multiplexed signals and both Motorola and Intel byte orders. CAN FD frames, with payloads up to 64 bytes instead of classic CAN's 8, decode through the exact same pipeline. Decoded signals show up exactly like any other measurement: plot them across strips, slice and export a time range, or train a virtual sensor on them, with no separate decoding tool.

Decoded CAN trace showing real signals EngineSpeed, CoolantTemp, and EngineLoad after importing a .asc trace against its .dbc database