Back to projects

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.

R&D Engineer

Universitas Padjadjaran × Pertamina Geothermal Energy

2024 to Jan 2025

Completed Jan 2025

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.

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.

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.

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

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.