ZAHORI.PY · AI water-leak detection

PROJECT 01 / 11 · ML · AI

Proyecto Zahorí

A five-person team project from my Information Systems Engineering program for the AI-SED 2026 challenge: a sensor node that watches the pressure of the water network and flags a leak before it opens a sinkhole. My part is the machine learning.

  • In progress
  • Embedded + HPC
  • 2026
In progress PYTHON · TINYML · SLURM · YUCA

01 / IMAGES.DIR

Project overview.

Frames from the 3D video I made for the team’s proposal: an illustrative model, not photos or results. Screenshots of the models will come after the technical document is submitted on 7 November.

IMAGES.DIR
The pipe under the street, before the crack (opens in a new tab)
The pipe under the street, before the crack
Water under pressure washes the soil away until the street gives way (opens in a new tab)
Water under pressure washes the soil away until the street gives way
The node inside its IP68 enclosure, measuring the pressure (example reading) (opens in a new tab)
The node inside its IP68 enclosure, measuring the pressure (example reading)
An unusual pressure drop becomes a leak alert over LoRaWAN (example data) (opens in a new tab)
An unusual pressure drop becomes a leak alert over LoRaWAN (example data)
3D renders from the project video · illustrative model

02 / STACK.INI

Tech stack.

What each piece does in this project. Hover over a tool, tap it or tab into the list to light it up.

  • PythonTime series of pressure, simulation and training
  • TinyMLLight models that fit on a microcontroller
  • SLURM · YucaBatch jobs on the ACARUS supercomputer
  • Linux · BashWorking environment on the cluster
  • ProteusThe node’s circuit board, designed by the team
  • Claude CodeResearch and assisted development

03 / README.TXT

About the project.

README.TXT

Problem

A leak in the water network can go unnoticed for weeks: the water is lost and washes away the soil under the street until a sinkhole opens. By the time it shows on the surface, the damage is done.

Solution

A low-power node, installed in an access chamber of the network, measures the water pressure and analyses it on the spot with a light model. When it sees abnormal behaviour, it reports it over long-range radio (LoRaWAN) to a central station.

Key features

  1. Research before buildingI reviewed data, models, microcontrollers and computing before writing code, and documented it for the team.
  2. Simulated network dataSimulated water-network scenarios to train and test without waiting for real leaks.
  3. Models for the microcontrollerI evaluate light models that fit in the node’s memory and battery (TinyML).
  4. The Yuca supercomputerI am setting up the environment on Yuca, at ACARUS, and checking everything to run the first waves of training and simulation with SLURM.
  5. Risk-zone atlasAn interactive geographic atlas of risk zones for the team and its advisers.

I thank the High Performance Computing Area of the University of Sonora (ACARUS) for access to its supercomputing infrastructure for this work.

Ready UTF-8 · LF · 28 L

04 / ARCHITECTURE.SYS

How it works.

A high-level view of the system, as the team proposed it. The design of the models will be published after the challenge.

ARCHITECTURE.SYS

TRAINING

  • Yuca · ACARUSSimulation and training with SLURM
  • PythonData and models

NODE IN THE NETWORK

  • Pressure sensorContinuous readings
  • MicrocontrollerTinyML model

CENTRAL STATION

  • Central stationReceives the nodes’ alerts
  • AlertFor whoever runs the network
Architecture diagram — From training on the supercomputer to the alert: what each part does.

Data flow, step by step

  1. Water-network scenarios are simulated and the data is prepared.
  2. On Yuca, the models are trained and compared with SLURM jobs.
  3. The chosen model is shrunk to fit the node’s microcontroller.
  4. The node measures the pressure and analyses it on site, without depending on the internet.
  5. If something looks abnormal, it alerts the central station over LoRaWAN.

Engineering notes

  • Research firstNothing in the team’s plan was taken for granted: each idea was checked against sources before it became code.
  • The right amount of computingA laptop is enough to test; Yuca comes in when simulation and training no longer fit on it.
  • Built for a batteryThe model has to fit in the microcontroller’s memory and use little energy, because the node lives underground on a battery.
  • No results yetThe challenge is still running: metrics and model design will be published after submission.

05 / PROPERTIES.CPL

Project properties.

PROPERTIES.CPL · Proyecto Zahorí

Platform
Embedded sensor node + training on a supercomputer
Type
Team project · AI-SED 2026 challenge
Status
In progress
Year
2026Technical document due on 7 November 2026
My role
Machine learning lead
Built for
AI-SED 2026 · University of Sonora
Repository
PrivateTeam code, not public during the challenge

06 / LINKS.LNK