Geothermal steam monitoring
Connecting plant signals to a live view of estimated steam quality.
I developed the acquisition hardware and software, integrated the estimator, and connected storage and dashboard delivery with the research team.
System overview
- Input
- Pressure, temperature and flow from 4-20 mA transmitters
- Processing
- Parallel signal acquisition, scaling and model inference on an Intel NUC
- Output
- Live and historical views with estimated steam dryness
I worked as the R&D Engineer with Universitas Padjadjaran researchers and PGE engineers. The team continued implementation after handoff.
Built hardware and monitoring view
Perta-SMART added a monitoring path beside the existing DCS. Physical steam-dryness tests remained the reference; the model supplied an estimate between tests.
Perta-SMART enclosure
Acquisition hardware
Monitoring interface
Plant exterior
Preserve the existing signal route
The installed transmitters continued to feed the DCS while splitters supplied a parallel 4-20 mA path to the Ebyte ME31 module.
Signals alongside the DCS
Scale, estimate, store and deliver
The NUC reads the acquisition module over Modbus TCP/IP. Python scales current readings with the transmitter ranges before the model, storage and dashboard paths use them.
Edge processing and delivery
| Stage | System behavior and my work |
|---|---|
| Instrumentation | Splitters preserve the DCS route and feed Ebyte ME31 acquisition. My work: developed the parallel signal-acquisition hardware and software. |
| Read and scale | The NUC reads Modbus TCP/IP and Python converts current values using transmitter ranges. My work: configured the acquisition path and scaling. |
| Estimate and store | The model estimates dryness from measured inputs; PostgreSQL and TimescaleDB retain readings and ten-minute aggregates. My work: integrated the estimator and connected storage with the research team. |
| Deliver | WebSocket supplies current updates; HTTP serves historical queries. My work: connected data delivery to the dashboard workflow with the team. |
Field integration and checks
Hardware review
Project-site team
| Check | Result and conditions |
|---|---|
| Laboratory input path | Average current-loop error around 0.048 mA; largest reported error 0.081 mA in laboratory testing. |
| Controlled service test | Mean delay of 35.047 ms for WebSocket updates and 232.261 ms for HTTP history in a test with 50 virtual users. |
These results describe their test conditions, not plant-wide delivery performance.







