Hands-on control-systems engineer, on both the real-time control and customer-facing side of
electromechanical integration: sizing, commissioning, tuning and troubleshooting, supported by
verification against simulation before hardware ships. Maintains a family of PID implementations in
C++, Python and Solidity (anti-windup, bumpless start and retune, setpoint-shift-corrected
derivative, floating or fixed-point); wrote cpppo, the Python EtherNet/IP and CIP library; and
prototypes of low-backlash non-involute geared high-ratio energy-recovering dampers as replacements
for conventional shock absorbers or inerters (J-dampers) and hydraulics. 17 years running an R&D
consultancy: discovery calls, engineering support agreements, written decision records and
application notes. (PDF, Text)
Skills
- Motion control and tuning: PID design and implementation in C++, Python and Solidity – integral anti-windup, bumpless start and gain retune, setpoint-shift-corrected derivative, float and fixed-point loops robust to loop-rate changes; validated against simulated plants (autopilots, multi-year economic agents). 10+ years of commissioning and operating closed-loop field systems.
- Sizing and mechanical integration: estimation of actuator sizing from force, speed, duty cycle and thermal limits; modeling of reflected-inertia budgeting; torque-density and ratio trade-offs; derivation of low-backlash gear tooth forms for high-ratio (100:1 or more) single-stage reducers; balanced multi-plate servo layouts; cylinder-replacement analysis (energy-recovering active damper, sized from first principles); mounting, side-loading, guidance and hard-stop considerations.
- Industrial communications and controllers: EtherNet/IP and CIP (author of the
cpppolibrary), Modbus RTU/TCP, DNP3, RS-485/RS-422 and serial links, PLCs and drives (ControlLogix, CompactLogix, PowerFlex), Ignition SCADA, RTU firmware, data diodes. - Simulation and validation: motion profiles, power and thermal duty-cycle models;
recorded-field regression harnesses; large-scale PLC simulation (
datasim, hundreds of concurrent PLCs) with replay, latency and loss injection – measurement before cutover, reproduction of field issues in the lab. - Software: Python (15+ yrs), C++ (25+ yrs), Rust (5+ yrs), C, assembly; exercising SDKs, logging data, reproducing customer issues; Linux, Docker, CI/CD.
- Customer-facing engineering: 17 years running a consultancy – discovery and scoping calls, design reviews, test planning, engineering support agreements, technical writing (application notes, derivations, decision records), presentations and demos.
Experience
IT/OT Solutions Engineer - Vantage Engineering (Spruce Grove, AB 2026–present)
Working with the teams delivering electrical automation, on the OT side of the IT/OT boundary.
- Built a secure DNP3 data diode supplying real-time field data to IT systems while leaving OT field equipment unreachable from the IT side, at a fraction of commercial diode cost without relaxing the unidirectional guarantee.
- Stood up dev, staging and production deployment for Ignition SCADA, with automated regression testing of Ignition Python scripting, so script changes are validated before production.
R&D Consultant - Dominion R&D Corp. (Remote, 2009–present)
Integration, telemetry and control systems for energy and industrial clients; remote systems that run unattended for years.
- Design and validate PID control systems end to end:
ezpwd::pidin C++, deployed in aerial data collection systems; the same design in Python, and on-chain in Solidity, where a governedretune()re-derives the integrator so live loops don't step on gain or setpoint changes. - Derive low-backlash gear tooth forms from first principles for high-ratio single-stage reducers
(
ikona-style, open source), and apply them to servo and damper design: balanced multi-plate layouts, reflected-inertia budgets, and the force, speed, duty-cycle and thermal sizing of an energy-recovering active damper as a replacement for a conventional shock absorber. - Model closed-loop comfort control for multi-zone hydronic plants (
pyhydronic, open source): PMV-based setpoints, slab-lag compensation and forecast-driven preheat, with minute-by-minute thermal duty-cycle simulation fast enough to explore trade-offs; the approach has controlled a real home for over a decade. - Created
cpppo, the Python EtherNet/IP and CIP library used worldwide to integrate PLCs and drives (ControlLogix, CompactLogix, PowerFlex) with analytics, documented with worked customer-integration examples. - Built
datasim, a large-scale PLC simulation environment that records and replays real field data and injects latency, loss and bandwidth limits, so a SCADA vendor's polling behaviour was measured against degraded WAN and satellite routes before production cutover. - Delivered ruggedized satellite-connected monitoring, communications and video systems across Alberta oilfields; field-serviceable and diagnosable from hundreds of kilometres away.
- Designed, fabbed and bench-tested a prototype 1-Wire sensor board for intrinsically safe grain-bin monitoring; the pilot did not proceed.
- Provide engineering support directly to clients: discovery and scoping, design reviews, test planning, written decision records and application notes; guide client teams through unfamiliar technical domains.
Software Engineer - clearGRID Ltd. (Kelowna, BC 2017–2022)
Replaced proprietary radio telemetry with commodity SDR hardware, on flight-approved platforms.
- Built an end-to-end real-time receiver decoding 64 concurrent channels from a 25 Msps I/Q stream on commodity x86 and ARMv8, sustained, with no dropped samples.
- Built a recorded-signal regression harness so algorithm changes were measured against captured field data rather than synthetic benchmarks – the lab reproduction of a field signal.
Distributed Systems R&D - Holo Ltd. (Kelowna, BC 2018–2020)
- Architected and validated HoloFuel's partition-tolerant transaction engine in Rust.
Sr. IT Advisor - Enbridge Pipelines (Edmonton, AB 2002–2009)
Custom RTUs and communications for hydrocarbon pipeline control; the protocol is still in operation.
- Developed solid-state RTU firmware for continuous 24/7 control in remote locations, sustaining fewer than 1 defect per 10,000 lines of code, measured in the field, not the lab.
- Deployed hundreds of ruggedized units across critical infrastructure sites.
- Architected LiveWIRE, a cryptographically secure, Reed-Solomon encoded, multi-route protocol for real-time SCADA telemetry over marginal and intermittent links.
Software Developer - Hewlett-Packard (Calgary, AB 1989–1996)
- Re-engineered the core alarm engine of the RTAP SCADA platform around DFA state machines; still deployed in pipeline SCADA systems continent-wide, 30+ years on.
Open Source
- cpppo - Industrial EtherNet/IP, CIP and Modbus protocol implementation (Python)
- ikona-style - derived tooth forms and balanced servo layouts for high-ratio gear stages (JS)
- pyhydronic - comfort-driven thermal modeling and control (Python)
- ezpwd-reed-solomon - Reed-Solomon and BCH FEC, used by aerospace and defence developers (C++/JS/Python)