Free instrument-data tool

Bio-Logic .mpr files, parsed and plotted — free

What a Bio-Logic .mpr file is, why .mpt exports lose metadata, and how to open/convert Bio-Logic battery data — upload it to Matflow free, or parse it yourself in Python.

Formats: .mpr (binary), .mpt / .txt (text export), .mbi (settings) · For: Battery & electrochemistry labs (EC-Lab)

The format

What the format actually is

Where the data hides, and what a naive parser loses.

Bio-Logic cyclers and potentiostats controlled by EC-Lab write native .mpr files: a binary container holding the data blocks (cycle, time, Ewe, I, capacity…), the technique settings, and instrument metadata for every channel.

The .mpt "export as text" option produces a tab-separated dump that spreadsheets can open — but it silently depends on the EC-Lab locale and version, and the header block (line count varies) trips naive CSV loaders.

Technique changes mid-run (e.g. GEIS inserted between GCPL blocks) split the file into Ns mod-safe blocks with independently resetting time columns — the single most common source of corrupted capacity-per-cycle math.

Watch out

Vendor quirks that break naive parsers

Each of these has produced a silently wrong number in a real workflow.

Column headers are locale-dependent ("time/s" vs "time/s (s)") — match on column order fallback, not name.
The .mpr header records the EC-Lab version; parsers must handle several binary layouts.
.mpt exports can drop per-technique metadata that the .mpr still holds.
Open source

Do it yourself in Python

We would rather you succeed with or without us. The open-source path:

yadg — an open-source parser suite that reads .mpr directly (pip install yadg).
For text .mpt: read with sep="\t" and skiprows set to the header marker line ("Number of loops" region), then normalise columns by position.
Group by (cycle number, sign of current) with pandas to get charge/discharge capacity per cycle — then assert your units before anyone downstream trusts them.
Upload path

What happens if you use Matflow

The parser is only step one — the value is the review and the provenance that follow.

01

Upload on the Ingestion page

Excel, CSV, PDF, SDS images and instrument files are parsed into evidence-tagged rows — the original file is retained as provenance.

02

Review before promotion

Column roles and types are proposed for a reason; correcting a mislabeled column here is the highest-leverage five minutes in the workflow.

03

Promote to a governed dataset

The accepted rows become a versioned dataset any stage can use — every row keeps its source and extraction status.

Docs: ingestion & extraction · column roles · instrument parsers

Stop parsing by hand

Upload your .mpr file to Matflow and it lands as a governed, validated dataset — original file preserved as provenance, every column documented. Free tier, no card.