An IoT-based plant-monitoring ecosystem
Mycelium v2 is an end-to-end IoT ecosystem designed to monitor plant health through a network of smart sensors and centralized data processing. Think of it as a nervous system for your garden—sensors act as nerve endings, collecting vital data about soil moisture, light levels, and environmental conditions, while a central hub processes this information and presents actionable insights through a desktop application.
My brother (Hans de Jong) is an expert in embedded systems. From analog, PCB to firmware development he can do it! He has designed and produced the PCB and soil moisture sensor and wrote the first firmware in C++.
I’ve done the work on cloud backend, infrastructure and frontend application and I’m also involved now in to the development of the firmware and edge central application.
We’ve altered the edge architecture. In version 1 we had the edge peripheral directly connecting via WiFi to the cloud backend. This involved complex WiFi and auth0/device code onboarding via BLE. Also the big issue there was using HTTP + TLS. HTTP isn’t that heavy, but encryption is pretty heavy for an ESP32 and the micro controller was not suitable for this setup. Other companies like Philips Hue and Tado are also using with a hub (central) architecture which is more power efficient.
Also we rewrote the edge peripheral firmware in Rust using no_std
. We are also reusing
The Mycelium v2 ecosystem follows a clean data flow:
Edge peripherals → Edge central hub → Cloud Backend → Desktop App
Over the next six posts, we’ll dive deep into each component of the Mycelium v2 system:
Each post will include practical code examples, architectural decisions, challenges faced, and lessons learned. Whether you’re interested in IoT development, system architecture, or just curious about building connected plant monitoring systems, this series has something for you.
Ready to grow smarter? Let’s dig in.