Skip to Content
All case studies

Case study · Geothermal energy · M-Duino 58

Watch the heat pump. Protect the plant.

Manifold sensors, pumps, valves, alarms and data on one M-Duino 58.

3variables to watch: water or steam, reservoir, equipment
2safety actions: alarm or emergency shutdown
58I/O on one M-Duino 58
4links in this design: Ethernet, RS-485, Wi-Fi, LoRa

Sensors see pressure and temperature.

The PLC keeps the system inside its limits.

This page is a reference design, not a project report. The source describes how a PLC can control and monitor the heat pumps of a geothermal installation. It does not name a plant or a customer, and it does not publish measured results. Use it as a pattern you can adapt.

The challenge

Heat from the ground, inside safe limits.

Geothermal energy is the heat stored beneath the surface of the earth. It is renewable, but two things are critical for it to be viable and efficient: temperature control and efficient monitoring. High pressure and high temperature also wear the mechanical parts fast. The source covers both: the plant that takes the heat from the ground and the heat pumps that use it. The goal: a PLC that controls and monitors the heat pumps, protects the equipment and keeps the data.

01

Water or steam

The first variables are the temperature and the flow of the water or the steam.

02

A reservoir that lasts

Manage the reservoir in a sustainable way, so its capacity does not degrade over time.

03

Heat pump and plant

Detect abnormal or hazardous conditions before they damage the heat pump or the plant.

04

Wear under pressure

High temperature and high pressure wear the mechanical parts fast. Maintenance must be preventive and predictive.

Grid demand and regulations

The energy that goes into the grid has to follow a demand that changes. Energy policies and regulations also ask for control of the energy consumption and other factors.

How it works

Three loops: regulate, protect, then record and connect.

Each loop shows one part of the pattern. Move the sliders and press the buttons. The panels are illustrative simulations: temperatures, pressures, flows, levels and records are examples, not data from a plant.

Loop 1 · Regulate

Sensors on the manifolds. Pumps and valves on the outputs.

The PLC reads sensors on the heat pump manifolds and on other critical parts of the system: pressure, temperature and other abnormal conditions. It also drives the actuators that regulate the pumps, the valves and other mechanical equipment, and adjusts them as needed. Its control program decides how to answer each signal, to keep the system inside the set parameters. A typical way to do it: a PI loop that sets the speed of the circulation pump to hold the temperature difference (ΔT) across the manifold. Change the heat demand and watch the PLC answer.

  • Pressure and temperature sensors on the heat pump manifolds
  • Pumps, valves and other mechanical equipment on the outputs
  • A control program that keeps the set parameters
PTHeatpumpΔT 5 KM-Duino 58
40 %
ΔT supply/return0
Manifold pressure0
Flow0
Pump command0

    Illustrative simulation. Example values, no data from a plant. Example: ΔT set point 5 K. The speed of the circulation pump comes from an analog output (0-10 V).

    Loop 2 · Protect

    First an alarm. Then, if needed, an emergency shutdown.

    Safety is part of the program. When a value leaves its limits, the PLC can trigger an alarm. When the condition is hazardous, it can start an emergency shutdown procedure, to prevent damage to the equipment or a safety hazard. A typical way to do it: two levels for each value, an alarm level and a trip level, a check for a broken sensor wire, and a manual reset after a trip. Raise the pressure, or cut the sensor wire.

    • Alarms for abnormal or hazardous conditions
    • Emergency shutdown procedure from the PLC
    • A record of every event
    Alarm 6Trip 83.0 barM-Duino 58AlarmPumpValve
    3.0 bar
    Pressure0
    State0
    Pumps0
    NORMALALARMSHUTDOWN

    Event log (example)

      Illustrative simulation. Example values, no data from a plant. Example levels: alarm at 6 bar, trip at 8 bar. After a trip, an operator resets the system when the pressure is back to normal.

      Loop 3 · Record and connect

      Data for maintenance. One network for many plants.

      The PLC collects and stores operational data for historical analysis, performance optimisation and strategic decisions. In the source, the data goes to the cloud, where forecasts help to plan preventive and predictive maintenance. With the same model, several geothermal plants can join one centralised and automated network. The source does not publish the link. A typical way to do it: keep each record on the microSD card, send it when the link is up, and send the waiting records after a cut. Choose a link, then cut it.

      • Operational data stored with a timestamp
      • Forecasts in the cloud for preventive and predictive maintenance
      • Several plants on one centralised network
      Plant 1Plant 2Plant 3EthernetServerhistoryforecasts
      Records on microSD0
      Waiting to send0
      Record size0

      Records sent (example)

        Illustrative simulation. Example values, no data from a plant. Example records. The source does not publish the link, the protocol or the data format.

        System architecture

        How does a PLC control a geothermal heat pump system?

        In this layout, pressure, temperature and flow sensors on the heat pump manifolds go to the analog inputs of the M-Duino 58. Its outputs drive the pumps and the valves, the alarm and the emergency shutdown. RS-485 can read meters and other local devices. Ethernet or Wi-Fi takes the data to the plant network and the cloud server, and LoRa can link remote sites. The source names these links but does not publish which one carries which data.

        Heat pump manifoldspressure · temperature · flowPumps and valvesother mechanical equipmentAlarm and shutdownemergency shutdown procedureM-Duino 58control program · data logAnalog inpressure, temperatureOutputspumps, valvesOutputsalarm, shutdownRS-485Modbus RTU (example)Meters, local devicesexamplePlant networkEthernet or Wi-FiEthernet or Wi-FiCloud serverhistory · forecasts · maintenanceData to the cloudOther plantsLoRa or a network link (example)One central networkOne possible layout. The source does not publishthe sensors, the I/O list or the links of each signal.Cloud serverhistory · forecasts · maintenanceData to the cloudPlant networkEthernet or Wi-FiEthernet or Wi-FiM-Duino 58control program · data logOutputsPumps and valvesother mechanical equipmentAlarm and shutdownemergency shutdown procedureAnalog inHeat pump manifoldspressure · temperature · flowMeters, local devicesRS-485 · Modbus RTU (example)Other plantsOne central networkOne possible layout. The source does notpublish the sensors, the I/O list or thelinks of each signal.
        Analog inputsOutputsData linksExample, not published
        Signals and data
        SignalBetweenTypePurpose
        PressureBetweenSensors on the heat pump manifolds → M-Duino 58TypeAnalog in (example)PurposeAbnormal or hazardous conditions. Range not published
        TemperatureBetweenSensors on the manifolds and critical parts → M-Duino 58TypeAnalog in (example)PurposeTemperature control. Range not published
        Flow of water or steamBetweenFlow sensor → M-Duino 58TypeNot publishedPurposeOne of the variables of the extraction process
        Pumps and valvesBetweenM-Duino 58 → pumps, valves, other mechanical equipmentTypeOutputsPurposeRegulate the operation and adjust it as needed. Signal types not published
        Alarm and shutdownBetweenM-Duino 58 → alarm, emergency shutdown procedureTypeOutputsPurposePrevent equipment damage and safety hazards
        Operational dataBetweenM-Duino 58 → cloud serverTypeNot publishedPurposeHistorical analysis, optimisation, forecasts for maintenance
        Several plantsBetweenEach plant ↔ central systemTypeNot publishedPurposeOne centralised and automated network (next step in the source)

        Why it works

        One controller for control, protection and data.

        Many signals on one PLC

        The M-Duino 58 has 36 inputs, 16 of them analog (0-10 V), and 22 outputs, 8 of them analog or PWM. Sensors, pumps, valves and alarms of one installation can fit on one controller.

        Protection in the program

        Alarm levels, trip levels and the shutdown sequence live in the same control program that regulates the system.

        Data that stays

        A real-time clock and a microSD slot let the PLC timestamp events and log data locally, before it goes to the cloud.

        The link that fits the site

        Ethernet and RS-485 are built in. The M-Duino family datasheets describe versions with Wi-Fi & BLE, GPRS/GSM and LoRa.

        Open code you own

        You program it with the Arduino IDE. You own the application, because you know the code.

        Modular

        The specifications can grow later. Add I/O or another PLC on the same network when the installation grows.

        Hardware used

        In this design: one M-Duino 58.

        M-DUINO ETHERNET PLC ARDUINO 58, industrial PLC based on Arduino Mega with 58 I/O and Ethernet

        M-DUINO ETHERNET PLC ARDUINO 58

        An industrial PLC built on an original Arduino Mega 2560, with 58 I/O, Ethernet and RS-485, for DIN rail. In this design it reads the manifold sensors, drives the pumps and the valves, raises the alarms and logs the data.

        Role
        Manifold sensors, pumps and valves, alarms, data log
        Inputs
        36: 16 analog/digital (0-10 V), 20 digital optoisolated, 6 with interrupt
        Outputs
        22: 8 analog/digital/PWM (0-10 V), 14 digital optoisolated
        Comms
        Ethernet (W5500), RS-485, RS-232, TTL, I2C, SPI
        Extras
        Real-time clock, microSD slot
        Power and environment
        12 to 24 Vdc, 0 to 60 °C, DIN rail TS35, IP20

        The source shows an M-Duino with a LoRa antenna and lists Arduino based PLCs with up to 58 I/O and Ethernet, RS-232, RS-485, LoRa, NB-IoT and Wi-Fi. It does not publish one exact model. The card shows the M-DUINO ETHERNET PLC ARDUINO 58. Its LoRa and Wi-Fi & BLE versions are described in the family datasheets.

        Questions about this case

        How can a PLC control and monitor a geothermal heat pump system?

        Put pressure and temperature sensors on the heat pump manifolds and on the other critical parts, and wire them to the PLC inputs. Wire the pumps, the valves and the other mechanical equipment to its outputs. The control program decides how to answer each signal and keeps the system inside the set parameters. It also raises alarms, starts an emergency shutdown when needed, and stores the operational data for analysis.

        Which values should a geothermal installation watch?

        The source names three: the temperature and the flow of the water or steam, the reservoir (so its capacity does not degrade over time), and the conditions that can damage the heat pump or the plant, such as pressure. Many transmitters give 4-20 mA. The analog inputs of the M-Duino 58 read 0-10 V, so a 4-20 mA loop needs a precision shunt resistor (500 Ω turns 20 mA into 10 V). Another option is transmitters with Modbus RTU on RS-485.

        Can the PLC handle the emergency shutdown?

        The source says that the PLC can trigger alarms or emergency shutdown procedures, to prevent equipment damage or safety hazards. In practice, the functions that protect people need a safety-rated circuit (for example a safety relay) designed to the standard that applies to your installation. The PLC starts the controlled shutdown, reports it and keeps the record. Mechanical protections, such as pressure relief valves, stay in place.

        Ethernet, Wi-Fi, RS-485 or LoRa: which link sends the data?

        The source does not publish the link. A typical choice: Ethernet where there is a cable, Wi-Fi where there is not, and RS-485 with Modbus RTU for meters and local devices (see Modbus RTU with Arduino and ESP32 based PLCs). LoRa reaches remote sites with low power, but it sends small packets at a low data rate, so send compact records and alarms. See how to work with LoRaWAN and a PLC controller. For a thermal machine on Modbus RTU with code, see Modbus RTU chiller control with an M-Duino PLC.

        How does the data help with predictive maintenance?

        The PLC collects and stores the operational data. In the source, it goes to the cloud, where forecasts help to plan preventive and predictive maintenance. A typical way to do it: log pressure, temperature, run hours and alarms with a timestamp, keep a copy on the microSD card, and look for trends that show wear before a failure.

        Which parts of this page are facts, and which are examples?

        Facts from the source: control and monitoring of heat pumps with a PLC; sensors on the heat pump manifolds and other critical parts for pressure, temperature and abnormal or hazardous conditions; actuators for pumps, valves and other mechanical equipment; control programs that keep the set parameters; alarms and emergency shutdown procedures; operational data for analysis and decisions; forecasts in the cloud for maintenance; the idea of one centralised network for several plants; and Arduino based PLCs with up to 58 I/O and Ethernet, RS-485, LoRa and Wi-Fi options. Examples: every value, set point, alarm level, trip level, record, link choice and plant on the panels.

        Download the case study

        4-page PDF with the challenge, the logic, the architecture and the hardware. No form required.

        Similar project?

        Tell us your heat pumps and your signals. An engineer will answer.

        Tell us how many heat pumps or sites you have, which values you measure (pressure, temperature, flow), what the PLC must drive and where the data should go. We will tell you which controller fits and which link to use.

        • You get an answer from our technical team
        • I/O count and controller sizing for your installation
        • Arduino, ESP32 or Raspberry Pi based PLCs