Communication and modules architecture
High level
Software architecture
Main controller
This module manages mirrors of all connected devices on the control network ( RS485 ) and delivers user interface via TFT and webserver to users.

Control modules
Each of these modules deliver control features locally to its implementation and remote configuration and control features.
Implemented components ( to date )
Currently, there is a variety of components that can be assembled very simply through software ( and therefore lead to different modules as a final assembly ),
This is a collection of core classes to manage sensors, engine and other power electronics components
Make / Hardware
Some of the first containers for the modules have been fully 3D printed, but 3D printing took so long and due to the shape for these, generated rafts and supports that were sometimes hard to get rid of. The latest modules have been designed using mixed 3D printing for the sides, and Laser cut for the top and bottom, significantly reducing printing time and ease of assembly.
This design relies on Arduino boards : Mega for supervision, and Arduino Pro Mini for each other module. I'm considering use of Teensy boards with much higher CPU capabilities to develop more efficient components, and deliver more computational abilities to serve more complex purposes. This current implementation however serves quite well any requirement for home or green houses / gardening automation systems.
Implementation
- Rs485 half duplex 115200 bps
- Up to 5 modules managed by controller
- Address based communication
- Collision detection algorithm
- Autodetection of connected modules
- Registries based transactions
Planned
- UDP ethernet communication
Supervision module
Components
- TFT shield and 3"2
- Ethernet W5100 shield
- Max485
Features
- Embedded UI for modules
- Same UI via onboard webserver
- Ajax server to access control and registries with higher level IT systems
Planned
- Local SD for logging
- SD based configuration & UI masks
Climate controller
Wiring![]()
Mount
Shield based PCB assembly
PCB are not like a final version but this is already much more reliable than the web of wires it was in the first version I made for it :)
Active probes box ( fan based )
Initial design did not include a fan. It worked, but this one does respond much faster to air composition changes.
Components
- SHT31-D for temperature and %HR
- MH-Z19B for CO2 ( measure only )
- BMP 180 for pressure ( measure only )
- 8 relays
Note: I initially tested DHT11/22 sensors for temperature and humidity - and I have tried several ones - to conclude that, in comparison with my reference for T and %HR these are just not as good as they are said to be.
Features
- Day and night temperature and humidity targets
- Matrix fuzzy logic controller for temperature, ventilation and humidity
- Can use cooler and/or heater, humidifyer and/or dehumidifyer, activate or not ventilation by configuration
- Has RTC to manage day/night with hours setup that enables switch for regulation targets and eventual lighting
Planned
- Use of relays to control CO2 level
- Additional registries and ad-hoc fuzzy logic to include weather station parameters in the regulation
Uses
- Green house, room control
Water tank processor
Wiring
1 - CPU PCB
2 - Sensors PCB
Mount
Shield based PCB assembly
PCB are not like a final version but this is already much more reliable than the web of wires it was in the first version I made for it :)
Components
- pH shield
- EC shield
- ORP shield
- Two relays for pumps
- L298 dual H bridge
- 16 bits A/N
Features
- Measures pH, EC, Redox and liquid temperature
- Easy calibration for pH and EC
- Detects liquid level in tank and can manage refill
- Enables managing circulation pump
- Has two outputs for 12v 2A peristaltic pumps
- Has regulations on pH with one pump and EC with another one
Planned
- Flooding detection
Uses
- Fertilizer tank, swimming pool and Fish tank control
Plants watering system
Wiring
Main board
Probes board
Mount
Module
Note : although fully functionnal implementation I am reworking the base PCB to avoid crossed wires and improve some placements.
Mini servo valve
Components
- DS18B20 for liquid temperature probing
- Dual relays shield ( heater and watering pumps )
- PCA9865 16x pwm servo controller. 7 PWM commands in used
- 7+1 channels conductimeter ( 4051 + NE555 ). 1 channel used for flooding detection
Features
- 7 zones soil conductivity / level detection
- 7 zones watering control ( servo-valve )
- 1 flooding detector
- Water/soil heater control
- Integration with water tank control system in a globalized system ( remote controlling some features)
- Calibration for EC channels detection