What the heck is a paludarium?

Paludariums are fishtanks with terrariums above the waterline.

What is this project?

I have been working on a paludarium for six months now and I love mine, and I've taken a different path than most paludarium builders. I felt it would be good to share my tips and also my automation system for controlling the lights and monitoring the filtering and heating.

My Tank

My tank is a commercially-made paludarium from Zoo-Med bought from a local fish store. It's 1'x1'x2', with a front door for easy access. I put it on my desk on top of a tray in case it ever leaked (or otherwise I spill water when refilling or maintaining the tank.)

External Filtration and Heating

Most paludariums are designed with submerged filtration, and most all aquarium heaters require the element be submerged (in fact, most become dangerously hot if taken out of the water.) I didn't want this for a variety of reasons, so here's my tips:

1. Use a canister filter (I use a Zoo-Med "Turtle Clean 15" canister. It's not designed for this, and is a bit tricky to prime, but works great when I have it primed.)

2. Use a glass tube for the filtration intake. It's unobtrusive, and looks far nicer than a plastic tube. You can easily cut the tube to length with a small file to score it and snap it. Be sure to sand down the rough edge. I am lucky in that I have a local lab supply where I bought my tubing.

3. Use a breeding box for the heater. ( use a Fluval Hang On box.)

4. Have the outflow of the canister filter go into the breeding box. I use a plastic line valve to keep the outflow line connected to the lid of the breedind box.

5. Have the outflow of the breeding box go down the rock formation.


I have 6 neon tetras and a honey gourami.


My plants are a lucky bamboo, some duckweed (which I got with the bamboo by [happy] accident), a variegated pothos ("planted" in the breeder box; doesn't need soil), and a "bowl lotus".


I had 4 Finnex Stingray 2 12" lights; these are driven with 12v power supplies and are multi-spectrum but have no controls besides a rocker switch to turn on to daylight or to moonlight. (I never liked the moonlight mode, FYI.)


After weeks of using a Sonoff S31 power switch, I felt a smoother ramp-up and ramp-down cycle would be more pleasing and less jarring to the fish. Sure, the lights are more than a foot away from the fish and there's lots of cover, but this tank is in my bedroom which makes for a jarring wakeup for us humans.

First I needed a microcontroller, I'm most comfortable with an ESP32 microcontroller like these. I mounted the dev board to perfboard and connect it to 4 PWM MOSFET "motor driver" boards. Cutting the 12v power adapter's cable and using a lot of 12v barrel connectors and a project box, I was able to make it manageable. The github project linked to this project has the code I use to control the lights, including ramping the lights up/down over a period of time.

All of this is driven from Home Assistant via MQTT messages. The lights ramp up at dawn and ramp down at dusk. Each light takes an hour to go from full brightness to off (or vice-versa) and the four lights have their ramping staggered by 15 minute increments (so one light starts, the next starts 15 minutes later, and so forth.)

Temperature Monitoring

After forgetting to re-connect the heater a second time, I realized I wanted to add a simple temperature sensor. I added this one, which includes a small circuitboard for easier integration with my ESP32. The probe is mounted in the breeder box to keep it hidden. My code requires a MQTT message to trigger measurement and the result is reported out to MQTT.

Tank Maintenance

Maintenance is mostly feeding, adding water, adding fertilizer, and cleaning lines and the filter. The lines are most easily cleaned with some string with knots large enough to fill the lines.