Inside the planted enclosure
I built the setup in a vertical 64-gallon Trixie terrarium. The base has a layer of lightweight expanded clay aggregate (LECA) for drainage, a substrate barrier, and about four inches of ABG mix for the plants. I wanted to see how conditions varied across that bed and at different heights in the enclosure.
I built a plant-monitoring prototype with an Arduino GIGA and a 3.5-inch, 480 × 320 touchscreen. It shows four sensor slots, each with separate moisture and temperature bars, so I can compare the planted areas at a glance.
Meet Link
Link, my panther chameleon, is the colorful resident behind Coolmeleon.
More photographs from home ↗Sensors around the enclosure
The first version logged air temperature and humidity online from a DHT11. I expanded the system to cover the plant bed, basking area, and water system.
| Subsystem | Components and role |
|---|---|
| Plant bed | Four Adafruit capacitive soil sensors give each slot a moisture reading and a temperature reading. |
| Air conditions | I looked at SHT30 and DHT22 sensors for temperature and humidity, and a BMP180 for air pressure. |
| Temperature by location | DS18B20 probes let me compare the basking area, the lower enclosure, and the room. |
| UV exposure | I designed for four UV sensors so I can compare exposure at different points in the enclosure. |
| Water level | I explored ultrasonic sensors for the reservoir and drainage system. |
Water, heat, and lighting
I use Arduino Cloud for misting and run the fogger separately. The mister wets the enclosure and the fogger raises the air humidity. Water drains through the substrate into a collection layer with a dedicated pump in the design.
I designed a local panel with illuminated switches for the misting tank pump, humidifier tank pump, drain pump, and heating pad. Basking heat and UV lighting have separate controls so I can track their state alongside the sensor readings.
From sensor nodes to a dashboard
I organized the system around an Arduino Mega plant node for the soil probes and an Arduino GIGA gateway for readings over serial or nRF24 radio. The touchscreen gives me an immediate view of the plant bed, and Arduino Cloud gives me the air reading history and misting controls.
I’ve put most of the Avalonia/.NET dashboard code in place to bring the sensor readings and control states into one interface. It shares components with PetGuardian and includes AI-assisted scaffolding. Explore PetGuardian ↗

