Automation engineer. In my day-to-day, PLC code is locked inside vendor tools and binary formats — invisible to Git, hard to review, hard to test. My projects pull that code into the open: Git-friendly sync, real-time bridges, and simulation for CODESYS, Siemens S7, and IEC 61131-3.
- cds-text-sync — Export a CODESYS project to plain Structured Text, edit it with modern tools (or LLMs), and sync the changes back. Metadata-driven, so it survives round-trips that break naive exporters. My most-starred project.
- cds-text-sync-reference-project — A reference set of CODESYS objects that vendor tools and cds-text-sync can't yet round-trip cleanly — documenting the export/import edge cases.
- awl-text-sync — The same Git-friendly workflow, applied to exported STEP 7 AWL sources.
- s7trace — A read-only black box for investigating intermittent faults on S7-300/400 — observe a running system without perturbing it.
- netflux — A reliable UDP protocol for soft real-time exchange between CODESYS, Siemens S7, and a PC — a bridge across vendor ecosystems.
- plc-browser-io — A binary WebSocket bridge for Hardware-in-the-Loop simulation between a PLC and the browser, in real time.
- pid-cascade — A browser simulator showing where cascade PID beats single-loop control, using pasteurization as the example. Tune, test, and compete on a leaderboard.
- mhd — Native Windows tray daemon for hotkeys, remaps, monitor control, audio, notes, timers, and desktop utilities.

