Code-first EDA portfolio — KiCad, LibrePCB, Ngspice, Qucs-s pipelines for AI research
Loading README and project media…
by Katherine Feemster
🌐 Live portfolio site · GitHub repo
Code-first electronics — schematic capture, PCB layout, SPICE characterisation and S-parameter sweeps, all emitted from a single reproducible Python pipeline.

| Project | Stack | What it proves |
|---|---|---|
| KiCad ECG analog front-end | KiCad 8 · S-expression | Valid .kicad_pro / .kicad_sch / .kicad_pcb tree with netlist, BOM and fab summary. |
| LibrePCB portable netlist | LibrePCB 1.x · S-expression | Mirrors the AFE inside LibrePCB's native .lpp project — proves netlist portability. |
| Ngspice AC / tran / MC / noise | Ngspice 41 · SPICE | Four decks: Bode, transient step, 200-run Monte-Carlo, input-referred noise. |
| Qucs-s 50 MHz RF band-pass | Qucs-s 2.x · Qucs XML | Dual-π LC matching with S11 Smith chart + S21 mag/phase from 10 MHz to 500 MHz. |
pip install numpy scipy matplotlib
python3 src/run_all.py
Each case also emits the native project file (KiCad S-expression, LibrePCB .lpp, Ngspice .cir, Qucs XML) so the artefact opens in the real tool unchanged.
.lpp project layout, flattened project library, Wayland-friendly headless rendering for containerised CI.ngspice -b), AC / DC / TRAN / NOISE / MC, .meas post-processing, vendor-model import.#2E7A7B + amber #D9A441 on ink #0F1A1F / paper #FBFAF7.eda-design-simulation-portfolio/
├── src/ # 4 generators + art_helpers.py + run_all.py
├── cases/ # one folder per tool with the native project file
│ ├── kicad/sensor_frontend/ # .kicad_pro / _sch / _pcb / .net / _bom.csv
│ ├── librepcb/ # .lpp project tree
│ ├── ngspice/ # 4 .cir decks + models/ + run_all.sh
│ └── qucs-s/ # rf_bandpass.sch + rf_bandpass.ngspice
├── assets/ # generated posters, CSVs, fab_summary.json
├── docs/ # GitHub Pages site
└── .github/workflows/ # CI re-runs the pipeline on each push
Senior electronics design & simulation specialist shipping cross-tool circuit pipelines — analog front-ends, mixed-signal boards, and RF matching networks. Comfortable owning a project from circuit synthesis through schematic capture, layout, SPICE characterisation, Monte-Carlo yield analysis and S-parameter verification.
Open to remote and contract engagements. This repository is the living portfolio companion to my CV.
Katherine Feemster