Raspberry Pi CP Terrarium Controller Using Node-Red

CP Terrarium

My first project was an attempt to learn some programming, some 3D printing, some sensor design, and combine them with a longtime hobby of growing carnivorous plants.

A Raspberry Pi 3B+ is the main control device.

1) It controls turning the lights on and off to match sunrise and sunset anywhere. Mine is set up to match the photo-period of their natural habitat.

2) It monitors the temperature and humidity and displays them on a remote dashboard that can manually override the automatic control.

3) Water level is controlled with a homebrew designed/built sensor. The sensor’s plastic element was drawn on Fusion-360. It was 3D printed at Milwaukee Makerspace. Water level status is also displayed on the dashboard and can be remotely run.

4) Coding is done with Node-Red, a graphical programming tool.

Node-Red Code

The actual terrarium is an uncovered 10 gallon tank. It has two species of Drosera  ( Sundews, a sticky leafed plant) and a Cephalotus. (Albany Pitcher Plant) Lighting is provide by a small LED fixture. Humidity and Temperature monitored with a DHT22 sensor. Water level measured with a CMOS Schmitt Trigger voltage division sensor. Remote viewing and control is done with VNC.

Real world progress is coming along. Code has been finished (until I get a better idea and redo it again) and checked. Temp/Humidity sensor is in place. Right now it’s only monitoring and displaying. Adding a heater and cooling fan is in the future plans. 3D printed sensor has been fabbed. Assembly, electronic circuit building, and testing will be the next phase I approach. Following that will be the addition of a water pump or solenoid to automatically replenish the water level when it drops.


TLDR version: Raspberry Pi monitors or controls a CP Terrarium’s lights, temperature, humidity, and water.

Node-Red Dashboard


3D printed sensor