00 / PROJECT IDENTITY
PROXIS
An engineering project for a precision fluid-delivery and control system, centered on reliable workflow execution and operator guidance.
Select a system component from the architecture map to view technical implementation details, state contracts, and workflow rules.
01 The problem
Complex operator workflows require consistent sequencing, explicit transition rules, and clear state-dependent guidance.
06 Supervisory software
The PROXIS Operator App is the supervisory software layer enforcing offline-first workflow integrity. It is designed around explicit state modeling rather than implicit lifecycle assumptions.
Canonical state contracts
Centralizes allowed workflow transitions via strict contracts (workflow.js). The application eliminates hardcoded strings and aliases in favor of canonical states (e.g., OXIDATION_COMPLETE, MEASUREMENT_PENDING).
Transition guards & operator guidance
Enforces state-transition logic via workflow guards (workflow-guards.js), completely decoupling transition legality from UI representation. The interface provides status-based operator guidance (guidance-panel.js) dynamically mapped to the current valid state.
Bounded regrow loop
Tracks Quality Control (QC) iterations using versioning (qc_version) across measurement sessions and rework entries. Crucially, it enforces a configured regrow-cycle limit (MAX_QC_VERSION = 3) to bound repeated regrow iterations in the supervisory workflow.
The interactive state machine below demonstrates this logic live. Attempt to execute illegal transitions, or try to run the regrow loop more than 3 times, to see the guards actively reject the input.
- System initialized. Awaiting process start.
Offline-first synchronization
Implements offline-first synchronization through an IndexedDB outbox (outbox.js). The outbox queues offline updates for later synchronization, reconciling operator actions locally against the transition guards before enqueuing them to ensure safe state management even in network-degraded environments.
08 Hardware implementation
The physical hardware executes the commands of the supervisory layer via the PROXIS Box. This system relies on a dual-MCU architecture (STM32 + ESP32) to isolate deterministic real-time control from networking operations.
STM32 (Real-Time Control)
A deterministic control loop (1kHz) manages the high-precision peripherals: PWM control of the peristaltic/syringe pumps, and ADC sampling for the gas mass flow controllers (MFCs), temperature, and pressure sensors.
ESP32 (Telemetry & Networking)
Bridges the STM32 to the supervisory Operator App via a UART/SPI link. It handles the Wi-Fi stack, WebSocket telemetry streaming, and the local IndexedDB synchronization payload.
- Wi-Fi / MQTT bridge
- WebSocket Telemetry Server
- Local Outbox Syncing
- Deterministic Loop (1kHz)
- PWM: Peristaltic Pumps
- ADC: Flow & Pressure Sensors
- Hardware Watchdog