MATLAB Bode-100 API Migration

Job ID: 39872820

Budget: $250 – $750 USD

We have a working (old) MATLAB application built with GUIDE (circa 2009–2012) that:
Initializes the Bode-100
Runs impedance sweeps (
Plots data and saves results (.mat) and can import exported Bode data (.Bode)
The original code uses the legacy COM object: OMICRON.BodeAnalyzer
Omicron’s 2021+ driver changed to: OmicronLab.VectorNetworkAnalysis.AutomationInterface
As a result, initialization, calibration loading, and frequency sweep calls no longer work, and some file formats (e.g., “BODE3”) are not recognized by the current code.
Current Status / Known Issues
Initialization fixed at a basic level using the new API (able to connect and read serial number).
Old API calls still present in Load Calibration, Scan, and TP2/TP3 calibration callbacks.
File/path issues in an auxiliary dialog (choosecalibrationfiles) that used hard-coded paths and xlsread/xlswrite.
GUIDE-era cleanup needed (e.g., fileparts with 4 outputs, possible inline FIG callbacks).
Need import support for newer Bode export format (e.g., “BODE3”) and normalize into our Nx3 data structure [Hz, |Z|, phase_deg].

What I Need You To Do
Bode-100 API Migration
Replace remaining legacy COM calls with the new Automation Interface.
Implement calibration load (Open/Short/Load as applicable) and frequency sweep using the new API.
Return results as arrays our GUI already expects for plotting/tables.
File Import/Export
Add robust loader for BODE/BODE3 exports (map to Nx3: freq[Hz], |Z|[Ω], phase[deg]).
Preserve existing .mat save/load behavior (compatibility with prior data).
GUI/Script Stabilization
Remove hard-coded paths (use fullfile / relative paths).
Replace xlsread/xlswrite with readcell/writecell (fallback to XLS functions if needed).
Fix any lingering GUIDE issues (e.g., fileparts → 3 outputs, ensure callbacks point to .m not inline FIG strings).
Confirm results populate existing tables/plots correctly.
Documentation & Handoff

Brief README: environment setup, driver install, tested MATLAB version, how to run tests.

Comment updated functions with API usage for future maintenance.

Environment / Tech

MATLAB: R2021 (Windows)

Hardware: Omicron Lab Bode-100

API: OmicronLab.VectorNetworkAnalysis.AutomationInterface

GUI: Legacy GUIDE .fig + .m

Data: .mat, .Bode, (need: .Bode3 support)

Deliverables

Updated .m files and any helper functions (no breaking changes to user-facing GUI flow).

Working initialization, calibration load, and sweep using the new API.

Successful import of BODE/BODE3 files into the Nx3 matrix used by the app.

TP2/TP3 calibration & measurement fully functional.

Short README (setup + usage) and inline code comments.

Nice-to-Haves

Graceful error handling with clear user messages.

Non-Excel code paths (so the app doesn’t require Excel to be installed).

Optional: light refactor away from GUIDE if trivial (not required).

What I’ll Provide

Existing project folder (GUI, functions, analysis files).

Example legacy .Bode/.mat files.

Any available Omicron driver/install notes.

Remote testing window with hardware (if needed) or logs from my side.

What To Include In Your Bid

Relevant MATLAB & instrument-control experience (especially Omicron Lab / Bode-100).

Brief plan: how you’ll approach the API migration and file format handling.

Examples of similar driver/API upgrades you’ve done.

Estimated effort and availability.