Building a Plant Monitoring Platform: From Sensors to Insights

February 8, 2026 • By Nicholas Romero

Creating a reliable plant monitoring system requires balancing accuracy, cost, and power consumption. In this post, we'll walk through the engineering decisions we made while building the Plant Caravan hardware platform. We'll look at why we chose specific sensors, how we compared different software platforms, and the real-world results of our field testing.

The Hardware Stack

At the heart of Plant Caravan is the ESP32 microcontroller. We chose the ESP32 for several key reasons:

  • Built-in WiFi: The ESP32 has onboard WiFi, which allows it to push data to your home automation system or cloud storage without requiring additional hardware.
  • Low Power: While not as low-power as dedicated sensor nodes, the ESP32 offers a good balance. It can sleep between readings and wake up to take measurements, extending battery life significantly.
  • Analog Inputs: The ESP32 has multiple ADC (analog-to-digital converter) channels, which is essential for reading soil moisture sensors and other analog sensors.
  • Strong Ecosystem: The ESP32 is supported by ESPHome, a firmware platform that integrates seamlessly with Home Assistant. This means you can configure your monitoring device with a simple YAML file.

Sensor Selection

Soil Moisture: Capacitive vs. Resistive

One of the most critical measurements for plant health is soil moisture. There are two main types of soil moisture sensors: resistive and capacitive.

Resistive sensors are cheap (under $2), but they corrode quickly. They work by passing a small current through the soil and measuring resistance. The problem? They electrolyze over time, especially in acidic soils, and their readings become unreliable within weeks.

Capacitive sensors are more expensive ($5-8), but they don't corrode. They measure the dielectric constant of the soil (how well it stores an electric charge) rather than passing current through it. After 3 months of continuous field testing, our capacitive sensors showed no degradation, while resistive sensors in the same conditions failed within 6 weeks.

Decision: We use capacitive sensors exclusively. The extra $3-6 per sensor is worth it for long-term reliability.

Temperature and Humidity: BME280

For ambient conditions, we chose the Bosch BME280 sensor. It measures temperature, humidity, and barometric pressure with excellent accuracy:

  • Temperature: ±1°C
  • Humidity: ±3% relative humidity
  • Pressure: ±1 hPa

We compared the BME280 to the cheaper DHT22 sensor. The DHT22 is accurate enough for most applications, but it's slower (2-second sampling rate vs. less than 1 second for the BME280) and less reliable over time. After 1000+ hours of testing, the BME280 maintained its calibration, while the DHT22 drifted by up to 5% relative humidity.

Decision: BME280 for the Core Kit. The cost difference (around $4) is justified by the improved accuracy and long-term stability.

Field Testing Results

We deployed 10 prototype units in real-world conditions: greenhouses, indoor seed starting setups, and outdoor gardens. Here's what we learned:

Soil Moisture Calibration

Capacitive sensors require calibration. "Dry" soil and "wet" soil produce different analog voltage readings depending on soil type (sandy vs. clay, organic matter content, etc.). We developed a two-point calibration routine:

  1. Take a reading in air (dry).
  2. Take a reading submerged in water (wet).

The ESPHome configuration then maps these values to 0-100% moisture.

After calibration, our sensors were accurate to within ±5% compared to gravimetric measurements (weighing soil samples before and after drying).

Temperature Drift

We noticed that the ESP32 itself generates heat. If the BME280 is mounted too close to the ESP32, temperature readings can be 2-3°C higher than ambient. We solved this by mounting the BME280 on a short wire extension, about 5cm away from the ESP32.

Power Consumption

With WiFi enabled and taking readings every 60 seconds, the ESP32 draws around 80mA. If you're running off a wall adapter, this is fine. For battery-powered setups, we implemented deep sleep: the ESP32 wakes every 10 minutes, takes readings, sends data, and goes back to sleep. This reduces average power consumption to less than 10mA, giving you weeks of battery life on a 2000mAh LiPo.

Next Steps

The core monitoring platform is solid. In our next post, we'll explore how we extended it to include active environmental control: automated grow lights and humidity regulation for a complete seed starting system.

If you're interested in the technical details or want to build your own monitoring setup, check out our GitHub repository for schematics and ESPHome configs.


Want to get your hands on a Plant Caravan kit? Preorder here.