Greenhouse Automation with industrial PLC Arduino. Greenhouse Controller

Control remotely the humidity, the ventilation, the CO2 level and the luminosity with and automated greenhouse system

M-DUINO Arduino PLC and Raspberry Pi Panel PC

About the customer

Our customer was looking for an Open Source solution for an automated greenhouse system in order to implement all the technical specifications he wanted with unlimited options, difficult to achieve with a turnkey solution.

They decided to use the Industrial Arduino and Raspberry Pi Panel PC equipment for several reasons:

  • Economizing in expenses

  • Ease of wiring with screwless connector

  • Ability to program in several languages or using free tools such as Arduino IDE.

PLC Arduino for greenhouse automation

Working in greenhouse environment


This project allows controlling remotely the humidity, the ventilation, the CO2 level and the luminosity in a greenhouse.

The data acquisition is configured with a graphical interface programmed in an Industrial Shields Panel PC with a RaspberryPi built-in. While the control of humidity, CO2 and air is automatic, Lights are controlled according to the time, although they can be set manually.

Automated greenhouse requirements for the customer

The greenhouse controller that our customer wanted to automatize required a remote control on the humidity levels, CO2, temperature and lighting of the different spaces that make up the greenhouse and a system that would alert him in case of finding any of the variables out of range.

To achieve this goal, they chose to use different communication protocols such as I2C and Ethernet, among others, and also programming tools such as Arduino IDE or Node-RED.

In order to control the entire installation, the customer has required two-controller Arduino Ethernet PLCs. On one hand, the industrial controller received the data from the HVAC sensors, at the first choice, connected by an I2C bus; I2C multiplexers have also been added to cover the entire installation, at second and third choice, the installation also combines digital and analog sensors.

The customer has implemented a control system for each phase (humidity, temperature, level of CO2 and luminosity) were looking at the level of each variable from the sensors decided on the actuators (pumps, valves, ventilation, light) in a sketch made with Arduino IDE.

To have control over the situation in the greenhouse controller, a Panel PC was added to the system. The data of the two Ethernet PLCs are sent via Ethernet to the Panel PC.

In thePanel PC, an MQTT broker has been configured to handle the requests and the Node-RED programming tool has been used to create the framework and manage the communications between the Ethernet PLCs and the Panel PC.

A base project to scale up

Easy to install, set up and put to work

The customer started this project as a test with the aim of creating defined hardware and software to scale up in other installations of his property.

Air Treatment control with Arduino Controller

Air Treatment diagram with Arduino PLC

Download the Greenhouse Automation Case Study

Share it with your teammates

Do you want to receive more information about Greenhouse Automation?

Just fill the form and we will send you several examples about how to use Open Source based devices on your projects.

Send