Skip to content

genestealer/Controllino-Irrigation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Controllino-Irrigation

PlatformIO CI Release License GitHub release (latest by date) PlatformIO

Controllino Powered Irrigation Controller

CI/CD and Automation

The project includes GitHub Actions workflows for:

  • Build Pipeline - Automatically builds firmware for all environments on push/PR
  • Release Pipeline - Builds and attaches firmware binaries to GitHub releases
  • Dependency Check - Weekly checks for library updates

Firmware artifacts are automatically built and available for download from the Actions tab.

Matching Home Assistant Home Automation Hub Configuration

https://github.com/Genestealer/Home-Assistant-Configuration

Info

Richard Huish 2017-2020

Controllino Maxi Ethernet based with local home-assistant.io GUI, relay/digital output for dual irrigation control via MQTT.

MQTT command message with 'on' payload command one of the outputs on.

MQTT command message with 'off' payload command one of the outputs off.

Note: My code is based on my other ESP8266 based projects, so there are may be some ESP nameing used.

Screen shots of Home Assistant interface

Diagram

Diagram

Copy of code header (may be out of date, see code for latest)

GUI: Locally hosted home assistant on network https://www.home-assistant.io/

MQTT: Locally hosted broker on network https://mosquitto.org/

OTA updates: Not supported by default by the ATmega without flashing with custom bootloader and I have not done this.


The circuit:

Controllino Maxi - ATmega 2560-16AU with W5100 ethernet 

https://www.controllino.com/product/controllino-maxi/

CONTROLLINO customized bootloaders https://github.com/CONTROLLINO-PLC/CONTROLLINO_Library/tree/master/Bootloaders/MAXI

W5100 ethernet (Built-In)

12V PoE Active splitter Adapter, to power Controllino

12V Electric Solenoid Valve for Water

Flyback diode: Vishay 50V 1A, Diode, 2-Pin DO-204AL 1N4001-E3/54

Outputs:

CONTROLLINO_SCREW_TERMINAL_DIGITAL_OUT_10 (2 Amp output) - 1st water valve

CONTROLLINO_SCREW_TERMINAL_DIGITAL_OUT_11 (2 Amp output) - 2nd water valve

(Note: Use could use the relays to switch higher voltages or have galvanic isolation)

Multiple on-board LEDS tos how MQTT connection, ethernet connection, status, etc    Notes:

Example Bill Of Materials:

PlatformIO Configuration

The project uses PlatformIO with multiple build environments for different controller configurations:

  • controllino_maxi - Default environment (Back Garden)
  • front_garden - Front Garden controller (IRRIGATION_CONTROLLER=1)
  • back_garden - Back Garden controller (IRRIGATION_CONTROLLER=2)

Building for specific environments

# Build for default environment (Back Garden)
pio run

# Build for Front Garden
pio run -e front_garden

# Build for Back Garden
pio run -e back_garden

# Upload to Front Garden controller
pio run -e front_garden -t upload

# Monitor serial output
pio device monitor

The platformio.ini follows current PlatformIO best practices with:

  • Global [platformio] section for project-level settings
  • [common] section for shared configuration (DRY principle)
  • Version-pinned library dependencies for reproducible builds
  • Multiple named environments for different deployment targets
  • Proper library identifiers (author/library@version)

About

Dual Channel Irrigation controller using Controllino (Arduino Mega + W5100 ethernet), MQTT and Home Assistant - Arduino platformIO

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors