AgroNext · greenhouse automation system

Sensing to decision, decision to action.

ClimaNex measures the greenhouse air, TerraNex the root zone. A local AI inside the greenhouse turns these readings into irrigation, fertilisation, heating and ventilation decisions; once a decision passes the safety check, relay channels apply it to pumps, fans and heaters.

Pepper greenhouse with sensors in the soil, ClimaNex and TerraNex prototypes on two breadboards, the irrigation line and a laptop showing the panel
ClimaNex · climate25.7 °C43.1 %RH557 ppm CO₂log 25.09.2026 · 14:10:00
Field setup, pepper greenhouse. TerraNex on the left, ClimaNex in the middle, panel on the right.

Tag values replay a real ClimaNex log.

System

One closed loop from measurement to relay.

Two sensor modules, one local decision unit and four independent control channels. Every decision rests on a measurement packet, every command passes a check, and the effect of every action shows up in the next reading.

  1. 01

    Sensing

    ClimaNex: temperature, relative humidity (BME680, I²C) and CO₂ (NDIR, UART). TerraNex: soil moisture (ADC), pH (ADC) and NPK (RS485 / Modbus RTU).

  2. 02

    Data

    Each reading is packaged with device, zone, time, unit and quality, and kept in a local store with history and the plant profile.

  3. 03

    Local AI

    The model on the Arduino-based local unit evaluates climate, root zone and recent trend together.

  4. 04

    Decision

    Separate decisions for irrigation, fertilising, ventilation and heating; each passes data-freshness, duration and on/off interval limits.

  5. 05

    Action

    The approved command goes to the right ESP32: TerraNex drives the irrigation and dosing pumps, ClimaNex the fan and heater, through relays. The next reading restarts the loop.

ClimaNex breadboard prototype: ESP32, purple BME680 board, gold MH-Z14A CO₂ sensor, TFT screen showing readings, two buttons and two relays
ClimaNex, bench test. Screen: 26.5 °C · 69 % · 1340 ppm · 1005.5 hPa.

Module 01 · Climate

ClimaNex

ClimaNex measures temperature, relative humidity and CO₂ inside the greenhouse every five seconds, timestamps each reading and hands it to the decision system. It carries two independent control outputs, for a heater and a fan, and shows current values on its own display.

ClimaNex components
Reading / outputComponentInterfaceUnit
1TemperatureBME680I²C 0x76°C
1Relative humidityBME680I²C 0x76%RH
2CO₂MH-Z14A NDIRUARTppm
3On-site display1.8″ TFTSPI—
4Heater5 V relay, low triggerGPIO25NO
4Fan5 V relay, low triggerGPIO26NO

From the log

Temperature22 Sep 2026 · 19:10–22:45

26.126.827.419:3020:0020:3021:0021:3022:0022:3026.0 °C27.5 °C

Relative humidity22 Sep 2026 · 19:10–22:45

65.267.770.119:3020:0020:3021:0021:3022:0022:3064.7 %70.6 %

CO₂25 Sep 2026 · 13:40–14:50

611887116214:0014:30553 ppm1220 ppm
ClimaNex technical page

Module 02 · Root zone

TerraNex

TerraNex reads the root zone: soil moisture and pH arrive on analog inputs, NPK values over an RS485 / Modbus line. The same board drives the irrigation pump and the dosing pump for a prepared nutrient solution through two separate relays; the two pumps never run at the same time.

TerraNex components
Reading / outputComponentInterfaceUnit
1Soil moistureCapacitive probeADC · GPIO34% relative
2pHAnalog interface + BNC electrodeADC · GPIO35pH
3NPKRS485 probe + MAX3485Modbus RTUmg/kg
4Irrigation pump5 V relay, low triggerGPIO25NO
4Fertiliser dosing5 V relay, low triggerGPIO26NO
TerraNex electronic layout: pH interface board with 10k/10k divider, capacitive moisture sensor, MAX3485 RS485 interface and NPK probe
Electronic layout, detail. The pH output is divided down to 3.3 V; the NPK line connects through a MAX3485, never directly to the ESP32.
TerraNex technical page
NPK probe, pH electrode and capacitive moisture sensor in the soil at the base of pepper plants; cables run to the TerraNex breadboard
TerraNex probes in the soil: NPK, pH electrode, capacitive moisture.
Annotated photo of the AgroNext setup in the greenhouse: NPK sensor, soil moisture sensor, pH sensor, irrigation and fertiliser lines, BME680, NDIR CO₂ sensor, TerraNex and ClimaNex ESP32 controllers, TFT display and user panel
Annotated view of the setup. Component names come from the team's own field photo.

Field

A real greenhouse. Real data.

AgroNext is developed not on a lab bench but in a real 10 m² pepper greenhouse. The probes sit at the base of the plants, the modules between the rows. The system collected measurements in this greenhouse for 45 days.

The curves on the right come straight from ClimaNex's own log. Readings are reduced to two-minute averages and nothing else is changed. Where the log has a gap, the line breaks too.

Sampling
5 s, both modules
Timestamp
local unit clock
Missing reading
left empty, never filled
Transport
local line + TLS every 60 s

Evening of 22 September 2026, ClimaNex

2,278 readings · 2 min average

Temperature · °C26.126.527.027.419:3020:0020:3021:0021:3022:0022:3026.0 °C27.5 °C
Relative humidity · %64.966.768.670.419:3020:0020:3021:0021:3022:0022:3064.7 %70.6 %

After 19:40 temperature falls from 27.4 °C to 26 °C while relative humidity climbs from 65 % to 70 %. The decision system looks at this trend, not at a single value.

Local AI

The decision is made inside the greenhouse.

The model runs on an Arduino-based unit in the greenhouse, not on a server on the internet. It reads the sensor stream, the last hour's trend and the plant profile together; its decision passes a separate limit check before it reaches a relay.

  1. 01

    Sensor streams

    ClimaNex and TerraNex send a timestamped measurement packet every five seconds.

    Example decision trace: 14:02:05 · soil moisture 38.2 % · 26.1 °C · 43 % RH

  2. 02

    Context layer

    A 12 × 5 min window, the trend, time of last irrigation and the plant profile are assembled.

    Example decision trace: last 60 min: moisture −8 pts · last irrigation 3 h ago · pepper, floor 40 %

  3. 03

    Local AI

    A GRU time-series model evaluates the need over the next 30 minutes.

    Example decision trace: irrigation need within 30 min: high

  4. 04

    Decision

    A channel and duration are proposed. Each channel gets its own decision.

    Example decision trace: irrigation · 20 s

  5. 05

    Safety limits

    Data freshness, maximum run time, on/off interval and manual stop are checked. A failing decision is logged, not applied.

    Example decision trace: data 5 s ≤ 15 s ✓ · 20 s ≤ 60 s ✓ · single pump ✓

  6. 06

    Actuator command

    The command goes to the right ESP32 with an ID, channel, duration and validity. When time is up the board switches the pump off itself.

    Example decision trace: #0142 · TerraNex · GPIO25 · 20 s

Model · GRU · inputs: temperature, relative humidity, soil moisture, CO₂ · window 12 × 5 min · horizon 30 min

Why local?

AgroNext · decision on the local network
Cloud loop · decision at the far end of the internet
If the link drops
Measurement, logging, decisions and control continue. The remote panel and NexAI wait for sync; buffered records are sent in time order when the link returns.
Latency
The decision never leaves the local network the reading arrived on. There is no internet round trip between command and relay.
Stale commands
An expired command is never replayed. When the link returns, a new decision is made on current readings.
Arduino Uno Q board used as the local decision unit, connected to a USB hub
Local decision unit · Arduino Uno Q

NexAI

Talk to NexAI.

In the web and mobile app, NexAI answers questions about your greenhouse using measurement history, decision records and command history, and shows which readings each answer rests on.

NexAI cannot switch a pump, fan or heater directly. Its suggestions pass the same limit check as local AI decisions.

NexAI · Pepper greenhouseconnected · last data 14:05

Why did irrigation start in the north section?

NexAI

In the north section soil moisture fell from 46 % to 38 % over the last 50 minutes. At that rate the 40 % floor in the plant profile would be crossed within half an hour.

The local model proposed irrigation. The check confirmed data freshness, duration and time since the pump last ran. The irrigation channel ran for 20 seconds at 14:02.

  • moisture 46 % → 38 %
  • decision #0142
  • 20 s

TerraNex · soil moisture 13:12–14:02 · decision log #0142

Example conversation.

Greenhouse panel

What is happening, why, and what was done.

  1. Observe

    Every reading shows its latest value, a six-hour trend and how old it is. A late sensor turns amber; a missing value stays empty.

  2. Understand

    The AI Decision Summary gives the latest decision and its reason; NexAI answers questions on the same screen, citing readings.

  3. Act

    Alerts and decision history show which command was issued, when, and on which reading it was based.

The panel requires sign-in. Each user sees only their own greenhouse; access is enforced in the database, row by row.

Open the greenhouse panel
Overview screen of the AgroNext greenhouse panel: navigation on the left, cards for air temperature, relative humidity, CO₂, gas resistance and air pressure with small trend charts, AI Decision Summary and NexAI chat on the right
Greenhouse panel v3, overview (Turkish UI).

Integration

It drives the equipment the greenhouse already has.

AgroNext does not replace the pump, fan or heater; it takes over the switch that turns them on and off. Each control channel provides a dry contact through a transistor driver and a 5 V relay. Small DC pumps are driven directly; mains fans and heaters through the greenhouse's existing contactor or the device's own control input.

ESP32GPIO25 · GPIO261 kΩ2N3904relay coil5 V · low triggerCOM → NOdry contactfuseMflyback diodeDC pumpirrigation · dosingKcontactor / control inputfan · heatermains voltageexisting panel
Channels
4 independent outputs · TerraNex 2, ClimaNex 2
Relay
CW-020 · 5 V coil · low trigger
Driver
2N3904 · 1 kΩ base resistor
Contact
NO used, NC left open · equipment off when relay releases
Protection
line fuse · flyback diode on DC pumps
Time limit
irrigation ≤ 60 s · fertiliser ≤ 30 s · independent on-board timer
Next channel
motorised vent · separate driver, direction control, limit switches

Experiment

Same greenhouse, two ways of control.

For three days irrigation is done by hand, on the usual routine; for the next three days AgroNext makes the decisions. The same sensors keep measuring through both periods; the only change is where the decision comes from.

Comparison
two consecutive periods, same plot
Also recorded
weather and starting moisture
Publication
results with raw measurements and method
Same greenhouse, two ways of control.
Measured in both periodsManual controlAgroNext control
Measured in both periodsDay 1Day 2Day 3Day 4Day 5Day 6
Water appliedmeasuredmeasuredmeasuredmeasuredmeasuredmeasured
Soil moisture curvemeasuredmeasuredmeasuredmeasuredmeasuredmeasured
Irrigation count and timemeasuredmeasuredmeasuredmeasuredmeasuredmeasured
Temperature · humidity · CO₂measuredmeasuredmeasuredmeasuredmeasuredmeasured
Plant observationmeasuredmeasuredmeasuredmeasuredmeasuredmeasured

Product path

From breadboard to a product installed in the greenhouse.

  1. 01
    Two breadboard prototypes on a wooden plank in the greenhouse, next to a laptop

    Field prototype

    Both modules on breadboards, running in a real greenhouse.

  2. 02now

    Sensor validation

    Soil moisture dry/wet endpoints, two-buffer pH calibration, NDIR warm-up time.

  3. 03
    TerraNex and ClimaNex carrier PCB layouts and 3D board previews

    Custom PCB

    Carrier boards for TerraNex and ClimaNex: ESP32 socket, measurement, control and field-connection zones.

  4. 04

    Enclosure

    Moisture- and dust-sealed box, probe cable glands, display window.

  5. 05

    Pilot greenhouse

    Installation in a second greenhouse, with a method written in advance.

  6. 06

    Scalable product

    One module set per zone, repeatable installation, one panel.

TEKNOFEST 2026 · Agricultural Technologies · Fully Autonomous Greenhouse Systems finalist

Open to growers who want to trial it, partners who want to build with us, and anyone with a question.