MATLAB Bode-100 API Migration
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.
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.
Related categories:
Data Processing
Matlab and Mathematica
Algorithm
Software Architecture
Arduino
MATLAB
API Integration