Enterprise AI Platforms.
Custom Systems.
Italian Engineering.

Let's Talk
Based in Torino, Italia

The irrigation algorithm that knows the field.

Quatra is a smart irrigation kit built on a proprietary algorithm and software platform. We engineered its core: the firmware that computes water demand on the controller, the edge bridge that keeps devices connected, and the cloud platform that operates the fleet.

Embedded firmware FAO-56 algorithm Edge bridge Cloud platform

Water is the budget. Spend it where the plant needs it.

Quatra's kit irrigates by measured need instead of a fixed schedule: watering on a timer wastes water on days the soil is already wet and stresses crops on days it is not. Turning that idea into a sellable product meant getting three hard things right at once: agronomic math that is provably correct, hardware control that fails safe, and a platform that operates devices installed far from any technician.

GRAL engineered the full stack and took it to production: firmware that computes the crop's actual daily water demand on the controller, an edge bridge that keeps remote devices connected over unreliable networks, and a cloud platform where operators monitor, override, and let the AI optimize zone by zone.

From pump house to dashboard.

Every field on one dashboard.

The operator opens one screen and sees the whole deployment: every field, every device, live water usage measured against the day before. Quick controls activate the fleet, hand control to the AI, or stop everything instantly.

Quatra dashboard with device totals, water usage, and field map

A controller that reads the whole field.

Each controller cabinet aggregates eight soil moisture probes, a full weather station (temperature, humidity, solar radiation, wind, rainfall), fertilizer sensing (pH, nitrogen, phosphorus, potassium, EC), and a flow meter. It drives eight irrigation valves and three fertigation valves, and reports home every few seconds.

Device page with soil sensors, weather station, fertilizer sensing, and valve control

Live control, safe by design.

The monitoring view shows the device fleet with live sensor bars and valve states, and lets an operator start or stop irrigation per device or across the fleet. Alerts surface what matters: high wind, low soil moisture, a faulty sensor, a device gone offline. An emergency stop is always one click away.

Monitoring view with live device fleet and irrigation control

One platform, any deployment.

Zones, plots, and devices are first-class objects in the platform, so the same software runs a large commercial installation and a research trial with dozens of individually mapped plots. A new deployment is configured, not custom-built.

Research deployment with dozens of individually mapped plots over satellite imagery

AI that suggests, operators who decide.

AI Smart Irrigation optimizes watering per zone from the measured data, and AI Insights raises suggestions the way a colleague would. Every automated action is visible, logged, and overridable from the same screen. The operator stays in charge; the system does the arithmetic.

Field and device fleet overview with alerts and AI quick actions

Agronomy, compiled.

Firmware on ESP32

The irrigation brain is a hardware-agnostic firmware library in pure C99 for ESP-IDF: stateless, no globals, no allocation, callable from parallel tasks without locks. It computes the field's daily reference evapotranspiration with the full 13-step FAO-56 Penman-Monteith method, then decides per zone from weighted soil-moisture readings, the crop's water-use coefficient, and the accumulated evapotranspiration persisted across reboots. A state machine with explicit stop conditions guarantees a valve never stays open on bad data. Around 120 test assertions run on every build, on a laptop, with no hardware attached.

ESP32-S3 FAO-56 ET0, 13 steps Zone state machine C99

Field bus & sensors

Soil moisture probes report over LoRa, built for kilometers of range on batteries; their readings reach the controller through the edge bridge. The weather station and the relay boards that drive irrigation and fertigation valves speak RS-485, the industrial bus that shrugs off electrical noise in a pump house. A flow meter closes the loop: the system verifies that the water it ordered actually moved.

LoRaWAN RS-485 Closed-loop flow check

Edge bridge on Raspberry Pi

A Raspberry Pi CM5 sits beside the controller and runs a small Python daemon that shuttles messages between the controller's serial port and the cloud, over HTTPS or MQTT. It runs as a supervised system service, survives reboots and connection drops, and is covered by its own unit test suite.

Raspberry Pi CM5 MQTT / HTTPS systemd

One protocol, end to end

Firmware, bridge, and webapp speak one compact JSON protocol: eleven message types covering telemetry, valve commands, configuration, and alerts. The same schema that leaves the microcontroller's UART arrives at the dashboard, which is why a sensor reading in the field becomes a chart in the browser in seconds, with nothing translated in between.

11 message types JSON over UART Field-to-cloud schema

Technologies in the cabinet.

EspressifESP32-S3
Field controller MCU
CC99 / ESP-IDF
Irrigation firmware
CMakeCMake
Firmware build system
Raspberry PiRaspberry Pi CM5
Edge bridge
PythonPython
Bridge daemon
pytestpytest
Bridge test suite
MQTTMQTT / HTTPS
Field-to-cloud transport
JSONJSON over UART
11-message protocol
ReactReact
Web dashboard

Have hardware that needs a brain?

Sensors, pumps, machines, plants. We build the firmware, the bridge, and the dashboard that make them one system.

Let's Talk

Choose Language