OGMS — Open Greenhouse Management System (RP2350B)
Greenhouse management firmware for Waveshare RP2350-ETH-8DI-8RO boards, integrating W5500 Ethernet, MQTT, WebUI, sensors, and relay control.
OGMS — Open Greenhouse Management System Based on W5500 Ethernet
Recommended Components
- WIZnet W5500
- Waveshare RP2350-ETH-8DI-8RO
- Waveshare RP2350-POE-ETH-8DI-8RO
- RP2350B
- 8-channel Relay
- 8-channel Digital Input
- SHT40 / SCD41 / DS18B20
- PVSS-03 Solar Sensor + ADS1110 ADC
- SEN0575 Rain/Drain Sensor
- MQTT / PubSubClient
- USB-NCM
- Modbus RTU / RS485
- WebUI / OTA
PROJECT DESCRIPTION
📌 Overview
OGMS stands for Open Greenhouse Management System. It is an open-source firmware project for monitoring greenhouse conditions and controlling relays.
This project targets the Waveshare RP2350-ETH-8DI-8RO and RP2350-POE-ETH-8DI-8RO boards. These boards are close to industrial I/O controllers, combining an RP2350B MCU, W5500 Ethernet, 8-channel digital inputs, and 8-channel relay outputs.
OGMS is designed to read greenhouse data such as temperature, humidity, CO2, solar radiation, drainage, and other sensor values, then control fans, heaters, irrigation pumps, side windows, and external relays based on that data. It also publishes sensor values through MQTT and allows relay control through MQTT commands or the built-in WebUI.
In simple terms, OGMS is smart greenhouse controller firmware for automating small greenhouses or agricultural test environments over Ethernet.
📌 Project / Author Context
Based on the public GitHub profile, yasunorioi appears to be an individual account, and the profile description says “farmer.” No official company, organization, or job title is clearly confirmed from public information, so it should not be described as a company or institutional project.
However, the public repositories under this account suggest a strong focus on software and embedded tools for real agricultural workflows, rather than simple hobby board examples.
For example, the same account includes a farm management application for Hokkaido field crop farmers, covering field management, crop rotation planning, pesticide ordering, and spray records. There are also projects related to NTRIP/RTK GNSS correction data, M5Atom-based UECS samples, and Hokuren RTK client configurations.
From that context, OGMS is best understood as a project from an individual agricultural IoT maker / farmer-developer who is trying to solve practical problems around greenhouse control, MQTT/UECS integration, RTK/GNSS, and farm data management.
📌 What is a Greenhouse Management System?
A Greenhouse Management System is a system that automatically manages the growing environment inside a greenhouse.
In a greenhouse, temperature, humidity, CO2 concentration, solar radiation, drainage, irrigation status, and ventilation have a major impact on plant growth. A person can manually turn on fans, heaters, and pumps, but in real operation, sensor-based automatic control is usually more stable and scalable.
For example, a greenhouse controller may need to:
- Turn on ventilation fans when temperature rises.
- Turn on heaters when temperature drops.
- Start irrigation when accumulated solar radiation reaches a threshold.
- Stop irrigation when a drain sensor detects water for a certain time.
- Control ventilation or related equipment when CO2 concentration drops.
- Run fans, heaters, and side windows around sunrise to reduce condensation.
OGMS implements this type of greenhouse automation using RP2350, W5500 Ethernet, MQTT, and a WebUI.
📌 What This Project Does
OGMS uses sensors and relays connected to the board to manage greenhouse conditions.
The 8-channel relay outputs can control external equipment such as fans, heaters, pumps, valves, side-window motors, and alarm devices. The 8-channel digital inputs can be used for switches, float sensors, interlocks, and external contact signals.
On the sensor side, the project supports devices such as SHT40 temperature/humidity sensors, SCD41 CO2 sensors, DS18B20 temperature sensors, PVSS-03 solar radiation sensors, and SEN0575 rain/drain sensors. Sensors are auto-detected, and the system can continue operating even if some sensors are not connected.
On the network side, OGMS uses MQTT to publish sensor values and subscribe to relay control commands. It also serves a built-in WebUI, allowing users to manage the dashboard, MQTT settings, greenhouse control, irrigation control, protection functions, Modbus settings, and OTA updates from a browser.
📌 Why W5500 is Used
Greenhouse controllers often need to run continuously throughout the day. They also need to keep sending sensor values and relay states while staying connected to an MQTT broker or WebUI.
In this kind of environment, wired Ethernet can be more suitable than Wi-Fi. Greenhouses may include metal structures, high humidity, long distances, power devices, pumps, and motors, all of which can make wireless communication less reliable. W5500 Ethernet provides a more predictable wired network path.
In OGMS, the W5500 is the key network interface that lets the board connect to a LAN and use MQTT broker access, WebUI access, OTA update, mDNS, and NTP time synchronization.
📌 Role and Application of the WIZnet Chip
WIZnet chip used: W5500
In this project, the W5500 acts as the wired Ethernet interface for the RP2350B-based greenhouse controller board.
OGMS uses MQTT over TCP to send sensor data and relay states to external systems. Users configure the MQTT broker IP and house ID, and the device publishes sensor and status data under topics such as agriha/{house_id}/....
The WebUI is also accessed through W5500 Ethernet. From a browser, users can check relay states, sensor values, MQTT connection status, greenhouse control settings, irrigation settings, protection settings, Modbus settings, and OTA updates.
In other words, the W5500 is not just an internet connectivity component in OGMS. It is the main communication path that allows the greenhouse controller to participate in an agricultural network.
📌 Network Stack Note
Although this project uses the W5500, it is not a WIZnet TOE/socket-library implementation.
OGMS uses W5500lwIP from the arduino-pico environment. The code creates a Wiznet5500lwIP object and uses APIs such as eth.begin(), eth.config(), eth.localIP(), and eth.connected(). The code comments also describe reopening the W5500 in MACRAW mode and starting DHCP.
So the network structure should be understood as follows:
OGMS uses the W5500 as an Ethernet interface, while TCP/IP processing is handled by the RP2350-side lwIP stack. It is not directly using the W5500 hardwired socket engine as a TOE/socket-library design.
This distinction is important when classifying WIZnet projects. OGMS is not an example that directly uses the W5500 hardware TCP socket API. Instead, it attaches the W5500 as a network interface for running higher-level applications such as MQTT, WebUI, and OTA.
📌 Hybrid Network Status
OGMS is not a typical wired/wireless Hybrid Network project in the WIZnet sense.
The project includes W5500 Ethernet and USB-NCM. W5500 is used for LAN operation, while USB-NCM provides a maintenance network path that lets a PC access the WebUI or OTA function directly over USB-C.
However, there is no visible Wi-Fi or BLE network path. Therefore, OGMS is best understood as a wired Ethernet-focused greenhouse control system. That said, because USB-NCM allows direct setup and OTA access without a LAN cable, the system can be described as providing operation via Ethernet plus maintenance access via USB networking.
📌 Features
- 8-channel relay control
The firmware directly controls 8 relay outputs through GPIO. These can be connected to greenhouse equipment such as fans, heaters, pumps, valves, side windows, and alarms. - 8-channel digital input
The board can read photocoupler-isolated inputs for switches, float sensors, external contacts, interlocks, and similar signals. - MQTT-based sensor publishing and relay control
The device publishes sensor values and relay states over MQTT and receives relay ON/OFF commands through MQTT topics. - Built-in WebUI
Users can manage the dashboard, MQTT settings, greenhouse control, irrigation control, protection functions, Modbus settings, and OTA updates from a browser. - Sensor auto-detection
OGMS supports sensors such as SHT40, SCD41, DS18B20, ADS1110, and SEN0575. The system continues operating even when some sensors are absent. - Solar-radiation-based irrigation
The firmware can accumulate solar radiation and start irrigation when a threshold is reached. Drain detection can also be used to prevent over-irrigation. - Greenhouse temperature control
Temperature-based proportional control can be used to drive fans, heaters, and other relay outputs. - Dew prevention and protection functions
The firmware can automatically control fans, heaters, side windows, or relays based on sunrise timing, temperature rise rate, and CO2 levels. - USB-NCM maintenance network
With only a USB-C connection, a PC can access the device at192.168.7.1for WebUI and OTA. This is useful when LAN access is unavailable or Ethernet is disconnected. - Modbus RTU Master
Through RS485, the firmware can control external Modbus RTU relay boards, expanding beyond the built-in 8 relay outputs. - OTA update
Firmware updates can be uploaded through the browser, which is useful for maintaining multiple installed units in the field. - EN/JP WebUI
The WebUI supports both English and Japanese, making it easier to use in Japanese agricultural environments as well as by global users.
📌 System Architecture
OGMS can be understood as five main layers: sensor input, control logic, relay output, network, and WebUI.
The sensor input layer reads temperature, humidity, CO2, solar radiation, drainage, and external device states through I2C, 1-Wire, UART, and RS485.
The control logic layer handles greenhouse temperature control, solar-radiation-based irrigation, dew prevention, rapid temperature rise protection, CO2 guard, and DI-to-relay link functions.
The relay output layer uses relay arbitration because multiple control functions may request the same relay at the same time. For example, OR composition is useful for ventilation because any safety-related trigger may need to turn a fan on. AND composition can be useful for heating because it can help avoid unnecessary heating.
The network layer uses W5500 Ethernet for MQTT, WebUI, OTA, mDNS, and NTP. USB-NCM works as a separate maintenance network so that users can access the device directly from a PC even without Ethernet.
📌 Usage, Market, and Application Value
OGMS is not just a relay test example. It is agricultural IoT controller firmware with functions close to real greenhouse operation.
The most direct use cases are small greenhouses, experimental greenhouses, educational smart-farm setups, and research growing environments. It is useful where users need to monitor temperature, humidity, CO2, solar radiation, and drainage while controlling fans, heaters, pumps, side windows, and external relays.
Possible applications include:
- Small smart greenhouse automation
- Plant growth chambers for research
- Agricultural lab environment control
- Irrigation automation systems
- Solar-radiation-based irrigation control
- Over-irrigation prevention using drain detection
- Temperature rise protection and ventilation control
- CO2-based protection control
- MQTT-based agricultural data collection
- Browser-based field setup and maintenance
- PoE-powered greenhouse control nodes
- RS485/Modbus-based external relay expansion
From a market perspective, OGMS fits better with makers, small farms, smart-farm experiments, universities, research institutes, agricultural IoT education, and open-source farm automation than with large commercial greenhouse control systems. By using an RP2350 Ethernet relay board and W5500, it offers a relatively affordable and reproducible way to build a greenhouse controller.
📌 Additional Insight for W5500 Makers
The biggest insight from this project is that W5500 Ethernet can be practical as the operating network for agricultural control devices.
OGMS is not a simple one-shot data transmission example. Sensor publishing, MQTT commands, WebUI, OTA, mDNS, NTP, status indication, watchdog behavior, and relay arbitration all run on top of W5500 Ethernet.
Another important design point is USB-NCM. In greenhouse environments, network settings may be wrong, a LAN cable may be disconnected, or DHCP may fail. OGMS provides a direct USB-C maintenance path so that a PC can still access the WebUI and OTA function even when Ethernet is not ready. This is very practical for field maintenance.
From a WIZnet perspective, OGMS is a good example of using the W5500 not merely as an IoT communication module, but as a reliable wired network interface for agricultural automation equipment. In always-on environments such as greenhouse control, wired Ethernet reliability can be a major advantage.
The author context is also important. The public repositories suggest that this project is not technology for technology’s sake. It appears to be part of a broader effort to integrate sensors, relays, networking, and maintenance functions into tools that solve real farming problems.
📌 Things to Know Before Building
Because this project controls real equipment, it should be approached more carefully than a simple test project.
Before building or installing, users should check:
- Whether the board is RP2350-ETH-8DI-8RO or RP2350-POE-ETH-8DI-8RO
- Whether the RP2350B variant setting is correct in the Arduino core
- Whether the W5500 SPI configuration on GPIO33–36 is correct
- Whether the MQTT broker IP and house ID are configured correctly
- Whether the voltage and current of connected equipment match the relay board specifications
- Whether dangerous equipment such as fans, heaters, pumps, and valves has a manual cutoff method
- Whether required sensors for automatic control are connected properly
- Whether the current settings and network access method are confirmed before OTA updates
- Whether USB-NCM access is available in case Ethernet access fails
Because the relay outputs can control real equipment, first tests should be done without a load or with safe low-voltage devices.
📌 Summary
OGMS is open-source greenhouse management firmware based on RP2350B and W5500 Ethernet. It integrates 8-channel relays, 8-channel digital inputs, temperature/humidity, CO2, solar radiation, drain sensors, MQTT, WebUI, OTA, and Modbus RTU.
Based on public information, the author yasunorioi is not clearly confirmed as belonging to a company or institution. The profile and related repositories suggest an individual farmer-developer / agricultural IoT maker working on greenhouse control, MQTT/UECS, RTK/GNSS, field management, and crop rotation planning tools.
The W5500 is the key Ethernet interface that connects the greenhouse controller to the LAN. MQTT sensor publishing, relay commands, WebUI, OTA update, mDNS, and NTP all operate over this network.
The network stack is not TOE/socket-library based. It uses arduino-pico’s W5500lwIP, meaning the W5500 acts as an Ethernet interface while lwIP handles TCP/IP processing.
OGMS is not a Hybrid Network project, but it is a practical agricultural IoT control example that combines wired Ethernet operation with USB-NCM maintenance access.
📌 FAQ
Q1. What is OGMS?
OGMS stands for Open Greenhouse Management System. It is firmware for an RP2350B Ethernet relay board that reads greenhouse sensors, controls relays, and provides MQTT and WebUI functions.
Q2. Which board does it target?
It targets the Waveshare RP2350-ETH-8DI-8RO and RP2350-POE-ETH-8DI-8RO boards.
Q3. Who is the author?
Based on the public GitHub profile, yasunorioi describes themselves as a “farmer.” No official company or institution affiliation is clearly confirmed. Related repositories suggest a strong focus on practical agricultural IoT, RTK/GNSS, UECS/MQTT, and farm management software.
Q4. Which WIZnet chip is used?
The project uses the WIZnet W5500. It is connected to the RP2350B over SPI and provides wired Ethernet networking.
Q5. Does it use the W5500 TOE/socket engine directly?
No. This project uses W5500lwIP. The W5500 works as an Ethernet interface, while TCP/IP processing is handled by the RP2350-side lwIP stack.
Q6. Is this a Hybrid Network project?
No wireless network path is included, so it is not a typical wired/wireless Hybrid Network project. However, it provides W5500 Ethernet for operation and USB-NCM for maintenance access.
Q7. What is MQTT used for?
MQTT is used to publish sensor values and receive relay control commands, allowing the greenhouse controller to connect with external dashboards or control servers.
Q8. What can users do from the WebUI?
Users can check relay states and sensor values, configure MQTT, set greenhouse control rules, configure irrigation and protection functions, manage Modbus settings, and perform OTA updates.
Q9. What applications is it suitable for?
It is suitable for small greenhouses, smart-farm experiments, research growing environments, agricultural IoT education, solar-radiation-based irrigation, drainage detection, and temperature/CO2-based protection control.
