Back to Home

Arduino split system control for +7°C

The article describes creating a refrigeration room based on a split system with an Arduino controller. Step-by-step installation, vacuuming, protection against hydraulic shock and IR control. Code examples for ESP8266.

DIY refrigerator on Arduino and split: +7°C stable
Advertisement 728x90

Arduino for Split-System Control: Building a Refrigeration Room

A split-system consists of an indoor and outdoor unit connected by copper tubes for refrigerant. The indoor unit is a fan with an evaporator and control board. The outdoor unit houses the compressor and fan. On/off models operate discretely: the compressor is either on or off. For installation, pre-made kits up to 5 m long with flared ends are used.

Installation requires:

  • Tube cutter, flaring tool, tube bender (lever or spring type).
  • Manifold gauge set, vacuum pump.
  • Adapters for R410A ports (5/16" instead of 1/4").

The tubes (liquid line thin, gas line thick) are run through the wall with a slope for condensate. Connect with nuts without gaskets. Mandatory vacuuming removes air and moisture, preventing acid formation in the compressor oil. Process: connect the blue hose to the service port on the outdoor unit, evacuate for 30–60 minutes, check for leaks.

Google AdInline article slot

After vacuuming, open the refrigerant valves with a hex key, quickly disconnect the hose.

Electrical Connection Diagram

Unit contacts: 1 — compressor (220V), 2N — neutral, 3 — 4-way valve (cooling/heating mode), 4 — outdoor fan.

  • Cooling: 1 + 4.
  • Heating: 1 + 3 + 4.

The indoor unit handles logic but is limited to a minimum of 16°C. For +7°C, an external controller based on Arduino or ESP8266 is needed.

Google AdInline article slot

Arduino Controller: Basic Logic

Use DS18B20 to monitor room temperature and tube temperatures (inlet/outlet). Issue: after compressor shutdown, pressure in the liquid line rises faster, causing hydraulic shock on restart.

Solution:

  • 3-minute delay between compressor off and on.
  • Outdoor fan runs for 3 minutes after compressor stops.
  • Separate relays: compressor (1), fan (4), valve (3).

Example pseudocode for ESP8266:

Google AdInline article slot
#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(2);
DallasTemperature sensors(&oneWire);

void setup() {
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);
  if (temp > 7.0 && !compressorOn) {
    // 3-minute delay
    delay(180000);
    digitalWrite(COMPRESSOR_PIN, HIGH);
    compressorOn = true;
  }
}

Add tube temperature checks to prevent startup if ΔT > threshold.

Resolving Power and IR Control Issues

During power dips, the indoor unit "sleeps," and the compressor runs without airflow. Solution — IR module (IR LED + IRremote library) to emulate remote commands: "turn on," "cooling mode," "temperature 16°C."

Logic:

  • If loss of connection is detected (no airflow > 30 s) — send IR wake-up signal.
  • Use ESP8266 with relays and IR.

Remotes use NEC protocol: capture codes from the original remote with an oscilloscope or library.

#include <IRremote.h>

IRsend irsend;

void wakeAC() {
  irsend.sendNEC(0x20DF10EF, 32); // Example power-on code
}

Scaling and Optimization

The system stably maintains +7°C. For senior developers: integrate MQTT for remote monitoring, PID controller instead of on/off to reduce compressor cycles. Add pressure sensors, compressor vibration sensors.

  • Advantages: low cost, customization.
  • Risks: warranty voided, requires soldering/flaring skills.
  • Alternatives: Peltier modules (low efficiency), industrial chillers (expensive).

Key points:

  • Vacuuming is mandatory for R410A — moisture damages the compressor.
  • 3-minute delay prevents hydraulic shock.
  • IR emulation solves network issues.
  • Monitoring tube ΔT is critical for reliability.
  • Use a tube bender — bending by hand flattens copper.

— Editorial Team

Advertisement 728x90

Read Next