Skip to Content
All case studies

Case study · Steam boiler · WiFi PLC

Water, purge, flame, pressure. In that order.

A relay PLC with WiFi runs the burner sequence of a fire-tube boiler.

2 barthe PLC switches the burner off
1 barthe PLC lights the burner again
3ignition repeats before the PLC aborts
4relay loads at 220 V: pump, fan, transformer, gas valve

The PLC runs the sequence. People watch it on a panel and a phone.

Each step waits for its condition: water, a clean chamber, a flame, the pressure.

This case describes how to automate a boiler with Industrial Shields equipment. It does not name a customer or a site. The example is a fire-tube (pyrotubular) steam boiler, and the case says the same system works for other types of boilers. This page follows one start: the water, the purge, the ignition, the pressure band and the alerts.

The challenge

A boiler start is a sequence. Each step needs a condition.

Steam generation must run correctly and safely. The burner must not light without water, without a clean combustion chamber or without a confirmed flame. The pressure must stay in its band. And when something goes wrong, a person must know, even when nobody is next to the boiler.

01

Water before fire

The PLC checks the water level first. With low water, the pump runs until the level is right.

02

A clean chamber

Before the ignition, the fan sweeps the combustion gases out for a defined time.

03

An ignition that stops

No flame: the PLC tries again, three times. If the fourth try fails, it purges and aborts.

04

Pressure in a band

The burner fires up to 2 bar, stops, and starts again at 1 bar, until the user stops the cycle.

Alerts that reach someone

A fault shows first as a local alert on the Panel PC. If nobody is there, the alert goes out over WiFi. The case adds a database and a mobile application with security alerts and emergency shutdown.

How it works

Three stages: prepare, ignite, hold.

Each stage shows one part of the boiler sequence. Press the buttons and move the sliders. The panels are illustrative simulations: times, rates and waits are examples, not data from a boiler.

Stage 1 · Water, then purge

No water, no fire. Then the fan clears the chamber.

When the user switches the boiler on, the PLC first checks the water with the level sensor, on a digital input. If there is not enough water, it turns the pump on until the level is right. Then the fan sweeps the combustion gases out of the boiler for a defined time. Only then can the ignition start. Press Switch on. Tick the box to start with low water.

  • Level sensor on a digital input
  • Pump on a relay output until the level is right
  • Fan purge for a defined time before the ignition
BoilerLevel sensorPumpFanto the stack
Water level0
Pump0
Purge0
OFFCHECK LEVELPUMPINGPURGEREADY TO IGNITE

Start steps (example)

    Illustrative simulation. Example values, no data from a boiler. Example times: the filling takes a few seconds and the purge 30 s, shown 10 times faster. The case says "a defined time" and does not publish the purge time.

    Stage 2 · Ignite, retry, abort

    Spark and gas. No flame: try again. Then stop.

    The ignition turns on the transformer, which makes the spark, and opens the solenoid valve, which lets the gas pass. The flame sensor tells the PLC if there is a flame. If there is no flame, the PLC repeats the ignition three times. If the fourth try also fails, the PLC runs another purge and aborts the ignition. Pick a case and press Ignite.

    • Transformer and gas solenoid valve on relay outputs
    • Flame sensor on a digital input
    • Three repeats, then purge and abort
    TransformerGas valveFlame sensor
    Try0
    Transformer0
    Gas valve0
    Flame0
    WAITINGIGNITIONFLAME DETECTEDNO FLAME: RETRYPURGE AND ABORT

    Ignition steps (example)

      Illustrative simulation. Example values, no data from a boiler. Example: each try lasts 5 s, shown 5 times faster. A typical way to do it: close the gas valve at the end of a try with no flame. In a real gas burner, the certified burner control decides if a retry is allowed and runs a full purge before it (EN 676, EN 298).

      Stage 3 · Hold the pressure, raise the alert

      The burner works between 1 and 2 bar. A fault goes to the panel, then out.

      With a flame, the PLC reads the boiler pressure on an analog input. At 2 bar it switches the burner off. When the pressure drops to 1 bar, it starts the burner again. The cycle repeats until the user stops it. If a level or an element does not behave as expected, the PLC shows a local alert on the Panel PC. If nobody is there, the alert must go out remotely, over WiFi. Move the steam demand and press Simulate a fault.

      • Pressure sensor on an analog input
      • Burner off at 2 bar, on again at 1 bar
      • Local alert on the Panel PC, remote alert over WiFi
      1 bar2 barBurnerPanel PClocal alertWeb serverover WiFi
      50 %
      Pressure0
      Burner0
      Burner starts0
      Alert0
      FIRINGOFF IN BANDSTOPPEDLOCAL ALERTREMOTE ALERT SENT

      Events (example)

        Illustrative simulation. Example values, no data from a boiler. Example rates: the pressure moves about 20 times faster than in a real boiler. A typical way to do it: if nobody acknowledges the local alert in 10 s, send it out (here shown twice as fast). The real wait is your choice.

        System architecture

        How does a PLC automate a steam boiler?

        A PLC with relay outputs and WiFi reads the level sensor, the flame sensor and the two buttons (On/Off and Emergency stop) on digital inputs, and the pressure sensor on an analog input. Its relay outputs switch the four 220 V loads: the water pump, the fan, the ignition transformer and the gas solenoid valve. A Panel PC on Ethernet shows the live values and lets the operator control each actuator by hand. Over WiFi, the PLC sends all the information to a web server.

        Panel PClive values, manual controlEthernetWeb serverdatabase, mobile app, alertsWiFiPLCrelays and WiFi, Arduino IDEInputsLevel sensorwater before fireFlame sensorconfirms the ignitionPressure sensor1 to 2 bar bandOn/Off buttonstart and stopEmergency stoppush buttonRelay outputsWater pump220 VFanpurge, 220 VIgnition transformerspark, 220 VGas solenoid valvegas, 220 VOne possible layout. The case does not publish the exact PLC model, the sensor ranges or the safety circuit.Panel PClive values, manual controlEthernetPLCrelays and WiFi, Arduino IDEWiFiWeb serverdatabase, mobile app, alertsLevel sensorwater before fireDigital inFlame sensorconfirms the ignitionDigital inPressure sensor1 to 2 bar bandAnalog inOn/Off buttonstart and stopDigital inEmergency stoppush buttonDigital inWater pump220 VRelay outFanpurge, 220 VRelay outIgnition transformerspark, 220 VRelay outGas solenoid valvegas, 220 VRelay outOne possible layout. The case does not publishthe exact PLC model, the sensor ranges or thesafety circuit.
        InputsRelay outputs (220 V)EthernetWiFi
        Signals and data
        SignalBetweenTypePurpose
        Water levelBetweenLevel sensor → PLCTypeDigital inPurposeEnough water before the ignition. Low level starts the pump
        FlameBetweenFlame sensor → PLCTypeDigital inPurposeConfirms the ignition. No flame: repeat, then purge and abort
        Boiler pressureBetweenPressure sensor → PLCTypeAnalog inPurposeBurner off at 2 bar, on again at 1 bar. Sensor range not published
        On/OffBetweenPush button → PLCTypeDigital inPurposeStarts and stops the boiler cycle
        Emergency stopBetweenPush button → PLCTypeDigital inPurposeEmergency stop of the boiler. See the FAQ on safety
        Water pumpBetweenPLC → pumpTypeRelay outPurposeFills the boiler until the level is right
        FanBetweenPLC → fanTypeRelay outPurposeSweeps the combustion gases for a defined time
        Ignition transformerBetweenPLC → transformerTypeRelay outPurposeMakes the spark of the ignition
        Gas solenoid valveBetweenPLC → valveTypeRelay outPurposeLets the gas pass to the burner
        Live values, manual controlBetweenPanel PC ↔ PLCTypeEthernetPurposeParameters in real time, each actuator by hand, local alerts
        Data and alertsBetweenPLC → web serverTypeWiFiPurposeAll the information. Database, mobile app, remote alerts

        Why it works

        One sequence, written once, for each boiler.

        Conditions before actions

        Each step starts only when the step before is complete: level, purge, flame. The PLC program can be written as a sequence of states with clear exits.

        A limit on the ignition

        In this case, the number of tries is fixed in the program. After the fourth failure the PLC purges and stops, instead of sending gas again and again. In a real gas burner, the certified burner control sets the retries and the purge before each one.

        A band, not a set point

        Off at 2 bar and on at 1 bar. The gap between the two values keeps the burner from starting and stopping every few seconds.

        Relays for the 220 V loads

        The pump, the fan, the transformer and the gas valve are on relay outputs. Each relay of the ESP32 PLC 19R switches up to 4 A at 230 Vac with a resistive load. Motors and coils are inductive: use contactors for the motors and add RC snubbers.

        Local first, then remote

        The Panel PC shows the alert next to the boiler. WiFi takes it to the web server, the database and the mobile application when nobody is there.

        Many boilers, one point

        The case says you can replicate the system on several boilers, with one PLC each. All of them connect to the Panel PC and the web server, so you control the network from one point.

        Hardware used

        A relay PLC with WiFi to run it. A Panel PC to watch it.

        ESP32 PLC 19R, industrial ESP32 based PLC with 8 relay outputs, WiFi, Ethernet and RS-485 for DIN rail

        ESP32 PLC 19R

        An industrial controller built on the dual-core ESP32, with WiFi, Bluetooth LE, Ethernet, RS-485 and RS-232, 8 relay outputs, for DIN rail. It is programmed with the Arduino IDE. In this boiler it reads the level, the flame, the pressure and the two buttons, switches the pump, the fan, the transformer and the gas valve, and sends the data over WiFi.

        Role
        Boiler sequence, pressure band, alerts over WiFi
        Inputs
        6: 4 analog/digital (0-10 Vdc analog, 0-24 Vdc digital), 2 digital optoisolated (5-24 Vdc)
        Outputs
        11: 8 relays (230 Vac 4 A / 24 Vdc 2 A, resistive), 3 analog/digital/PWM (0-10 V)
        Wireless
        WiFi 2.4 GHz, Bluetooth LE
        Wired comms
        Ethernet (RJ45), RS-485, RS-232, I2C, SPI
        Programming
        Arduino IDE
        Power supply
        12 to 24 Vdc
        Mounting
        DIN rail TS35, IP20

        The case names an Arduino based PLC with relay outputs and WiFi, and does not fix the model. The old page shows an M-Duino 19R. The M-Duino versions with WiFi are not in the online shop today. The current controller with relays and WiFi on board is the ESP32 PLC 19R, also programmed with the Arduino IDE. This sequence uses 5 of its 6 inputs (4 digital, 1 analog) and 4 of its 8 relays. In digital mode, the analog/digital inputs take 24 Vdc signals, so the four digital signals fit.

        TouchBerry Pi Panel PC 10.1 inch with Raspberry Pi 4

        TouchBerry Pi Panel PC 10.1" FLEX

        The local SCADA screen of the boiler. An industrial Panel PC with a Raspberry Pi 4, connected to the PLC over Ethernet. It shows the parameters in real time, lets the operator switch each actuator by hand and shows the local alerts.

        Role
        Live values, manual control, local alerts
        Screen
        10.1"
        Computer
        Raspberry Pi 4
        Link to the PLC
        Ethernet

        The case says "PC Panel". Its scheme shows an Industrial Shields Panel PC with a Raspberry Pi, and the old page links the 10.1" TouchBerry Pi. The image and the link show the TouchBerry Pi Panel PC 10.1" FLEX. The family also has 7" and 18.5" models.

        Questions about this case

        How does a PLC control a steam boiler?

        It runs a fixed sequence. In this case: check the water with the level sensor and fill it with the pump; purge the combustion gases with the fan; light the burner with the transformer and the gas solenoid valve, and confirm the flame with the flame sensor; then keep the pressure between 1 and 2 bar. A relay PLC with WiFi does it, and a Panel PC shows it. A state machine is a clean way to write it: see the solenoid valve state machine example.

        Why does the fan purge the boiler before the ignition?

        Unburnt gas can stay in the combustion chamber and in the flue after a stop or a failed try. A spark in that mixture is dangerous. The purge blows fresh air through the chamber first. The case uses a defined purge time and does not publish it. The burner manufacturer and the gas burner standard (EN 676 for forced draught gas burners) set the minimum purge in a real installation.

        What happens when there is no flame?

        The PLC repeats the ignition three times. If the fourth try also fails, it runs another purge and aborts the ignition. A typical way to do it: after an abort, keep the burner locked out until a person checks it and resets it, and send the alert to the Panel PC and over WiFi.

        Which safety devices work alongside the PLC in a gas boiler?

        The PLC runs the sequence, reads the status of the safety devices and sends the alerts. Around it, as in any gas boiler: flame supervision and gas shut-off in a certified burner control unit (EN 298); low water and high pressure limiters, independent and certified to EN 12953-6 and EN 12953-9; and an emergency stop that does not depend on the standard PLC program (IEC 60204-1, ISO 13850). The case does not publish its safety circuit. See safety interlocks and e-stop on a PLC.

        How does the PLC hold the pressure between 1 and 2 bar?

        It reads the pressure sensor on an analog input. At 2 bar it switches the burner off, and at 1 bar it starts it again: an on/off control with a gap (hysteresis), so the burner does not start and stop every few seconds. The ESP32 PLC reads 0-10 V. For a 4-20 mA transmitter, add a 500 Ω precision shunt. See 4-20 mA pressure sensors on an ESP32 PLC.

        How do the data and the alerts go out over WiFi?

        The PLC sends all the information to a web server over WiFi. The case adds a database and a mobile application with security alerts and emergency shutdown. With several boilers, each PLC sends its data to the same server. Two building blocks: non-blocking WiFi reconnection, so the boiler logic never waits for the network, and MQTT remote commands with a response topic.

        Download the case study

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

        Similar boiler?

        Tell us your boiler and your sequence. An engineer will answer.

        Tell us the type of boiler and burner, the sensors you have, the loads you switch and where the alerts must go. We will tell you which controller fits and how to wire it.

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