00 / PROJECT IDENTITY

PROXIS

An engineering project for a precision fluid-delivery and control system, centered on reliable workflow execution and operator guidance.

Discipline
Software · Hardware Integration
Software
Implemented
Hardware
Operational (Dual-MCU)
PROXIS SYSTEM ARCHITECTURE
CLIENT (OFFLINE-FIRST)
NETWORK
SERVER
ARCHITECTURE NODEAWAITING SELECTION

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.

PROXIS STATE CONTRACTS
STATE_PLANNED
↓
STATE_STARTED
QC: 0/3
↓
STATE_OXIDATION_COMPLETE
↓
STATE_MEASUREMENT_PENDING
REGROW LOOP
OPERATOR GUIDANCEGUARD: ACTIVE
System Log
  • 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.

PROXIS BOX / DUAL-MCU ARCHITECTURE
ESP32 (Network / Telemetry)
  • Wi-Fi / MQTT bridge
  • WebSocket Telemetry Server
  • Local Outbox Syncing
UART / SPI
→ TX/RX ←
STM32 (Real-Time Control)
  • Deterministic Loop (1kHz)
  • PWM: Peristaltic Pumps
  • ADC: Flow & Pressure Sensors
  • Hardware Watchdog
LIVE TELEMETRY STREAM● CONNECTED
O2 MASS FLOW
0.0 SCCM
CHAMBER TEMP
21.5 °C
PERISTALTIC PUMP
0 RPM
SYSTEM PRESSURE
760.0 Torr