Category Archives: Automation

Video: The first real Thunderstorm

After running some tests, today for the first time there was an actual thunderstorm in the paludarium!

How the paludarium figures there should be a thunderstorm

I could have made the weather inside the paludarium choosen by random, but that wouldn’t have been any fun. Instead, the paludarium fetches live data from the La Selva Biological station in Costa Rica.

Using a 1,5 day delay this meteorological data is “replayed” inside the paludarium. Why 1,5 day? Well, one day to Read more »

The stuff Paludariums are made of

People are often confused what things are all in the paludarium, what they are called and what they do. In this blog post I’ll explain the different components (sub projects if you will) that make up the paludarium today.

A quick overview

In order to get the paludarium working as it works today, I had to run several different projects and put them all together. First I’ll quickly list all the different components:

  1. The Cabinet – The custom-built cabinets that hold the paludarium;
  2. The Paludarium – The glass structure that holds water and air (the paludarium is a closed construction);
  3. The Land part – The part above water. Filled with tropical plants, and for now no animals here;
  4. The Aquatic part – The front underwater part of the paludarium, where the fish live;
  5. The Sump – The rear underwater part. Any excess water from the Aquatic part is dumped here, and the plants living on the background panel get their water from here (and return it there too);
  6. The Waterworks – The board in the cabinet that holds all the plumbing (water valves etc);
  7. The Canopy – The intelligent armature sitting on top of the paludarium;
  8. PaluPi – A standard Raspberry Pi with an RS232 level converter that sits inside the Canopy and handles all the “smart thinking”;
  9. Apollo units – Named after the god of light, there are around 12 of these units inside the Canopy, each handling up to 4 leds, halogens, TLs or fans;
  10. Neptune module – Still under development, this unit controls all pumps, valves etc in the Waterworks;

Quite a list right? Everything in this list had to be tuned Read more »

Rain Down On Me

One of the last things to build and test with all the water stuff, was rain. So I added a small installation with sprinklers that get fed directly from the tap water.

Rain Down On Me

The rain installation is controlled electronically (duh!). On the WaterWorks under the paludarium, I have one electromagnetic valve that can be opened to feed the rain installation:

The magnetic valves on the WaterWorks. The one on the left controls the osmosis filter, the center one inputs tap water into the aquatic part, and the rightmost has now been connected with a thin black tube to allow for rainfall.

The magnetic valves on the WaterWorks. The one on the left controls the osmosis filter, the center one inputs tap water into the aquatic part, and the rightmost has now been connected with a thin black tube to allow for rainfall.

The valve on the right has now been connected as well with a thin black tube. This tube is fed upwards, and Read more »

Water for the First Time!

Today it was finally time… All the puzzle pieces for the WaterWorks could be put together! After testing the WaterWorks for leaks, it was time to mount the board under the paludarium, hook things up and test… For the very first time actual water inside the paludarium!

Mounting the WaterWorks

The waterworks were build on a separate board, outside of the paludariums cabinet. All parts that need to be under the paludarium that handle water are mounted here. The WaterWorks look like this:

The Paludarium WaterWorks. This board is mounted under the paludarium and it handles the water household.

The Paludarium WaterWorks. This board is mounted under the paludarium and it handles the water household.

Today I mounted this board in the cabinet under the Read more »

The Way Water Warms


I am so happy with my Raspberry Pi now able to obtain real-time measurements from the La Selva biological station. As much as this station measures, it does not measure water temperature. Time for some geeking out!



What I DO have

So the measurements I do get from the biological station are basically all the ingredients I need to synthesize the water temperature. Especially these values will determine the temperature:

  • Light Intensity;
  • Air Temperature;
  • Rainfall;
  • Previous Water Temperature.

I want to use some kind of calculation to create a synthetic water temperature. I’m assuming sunlight will heat the water. The water temperature will somewhat follow the air temperature. Finally rain will seriously cool down water.


Making up a formula to synthesize water temperature

Forming a formula that synthesizes water temperature is kind of hard to do. There are so many variables. In the wild, water will come flowing in from somewhere else. Deep water will flow slowly, and hardly heat up under sunlight. A small pool of 10cm of water will heat up extensively, unless it streams fast.

It is almost impossible to work with all these variables. So I figured to just build a simulation formula, and see how the water temperature will develop as I run through the days. I started out with a formula like this:


WaterTemp = WaterTemp + (Light/settings.get(“synth.lightFactor”))
WaterTemp = WaterTemp + (AirTemp-WaterTemp) / settings.get(“synth.AirTempFactor”)
RainDiff = Rain * ( WaterTemp – settings.get(“synth.rainTemp”) )
if (RainDiff < 0): RainDiff = 0 WaterTemp = WaterTemp - ( RainDiff / settings.get("synth.rainFactor") )


The first line will increase the water temperature from the last sample with (Light/factor). This is the heating of the water by the influence of sunlight.

The second line first calculates the difference between air and water temperature. The further apart, the bigger the effect will be. After dividing by a factor, I add this difference to the water temperature (this cal either heat or cool down the water)

The third line first calculates the difference in temperature between the water and the rain. Then I multiply this number by the number of millimeters of rain (more rain = more cooling). In case the rain is warmer than the water (should never occur), I do nothing.

Finally I subtract the calculated value from the water temperature divided by another factor. I use these factors to tweak and tune the simulation.


The result

I still have to look at the effect in a longer run, maybe import a few weeks of simulated data into excel and graph it out. So far it seems to behave pretty well… Simulated temperatures normally run from 24 degrees centigrade (early morning) up to 27.5 degrees centigrade in the late afternoon (4PM). Rain cools it down 1-2 degrees. When looking at heavy rainfall (like September 11th 2013 where there was over 70mm of rainfall in 1,5 hours), the simulation delivered a water temperature of 21.4 degrees centigrade. Not bad at all!

Work in Progress: Getting the RaspBerry Pi to talk to the Canopy

In my previous post I managed to program the chips in the Canopy. Now I can adjust the code inside the Canopy where needed. Next thing to get working is to allow the Raspberry Pi to talk to the chips inside the Canopy.

Raspberry Pi, Atmel AVR and serial communications

Luckily the Raspberry Pi has a serial port, because the AVR controllers I used have one too, and they use this serial port to get commands from whoever is controlling the bus… Which should be the Raspberry Pi.

Problem is that the Raspberry Pi does not have a true RS232 serial port: the signals are there (on the GPIO headers), but they have 0-3.3V levels Read more »

Work in progress: Programming the Canopy

As I get closer to actually filling the paludarium with water, plants and eventually animals, I need to put a lot of focus on the electronics. The lighting armature on top, or as I like to call it, the Canopy is fully electronic. Without electronics the lights won’t even go on… High time to put some work into the Canopy to upgrade this piece of hardware to version 2.0.

First things first: Getting the code compiling again

Inside the Canopy I have 12 Atmel AVR controllers (ATtiny2013’s). These tiny controllers have been programmed in three flavors: LED, HALOGEN and FAN units. You guessed it, each type of controller has its own code. Luckily I programmed a single code, and when compiling this code I can tell the code which type it is supposed to compile. These little AVR controllers are programmed in C:


#include “main.h”
#include “serial.h”
#include “timer.h” Read more »

Hardware ‘n stuff ordered!

Today I finally ordered most of the hardware I’ll require for the further construction of the paludarium. Not computer chips this time, but pumps, filters, pipes, heaters and other cool stuff. In this blog post I’ll highlight some of the components that I’ve selected.

Aquatic Filter

Originally I used an Eheim 2222 external filter for Paludarium 1.0. However, this filter was already too small, so for the new Paludarium 2.0 it would definitely be too small, so I was in need of an upgrade. The price of the larger Eheim filters scared me a bit – So I decided to go for another vendor, JBL. They have a much cheaper filter line, the greenline filters:

The JBL Greenline 1501e external filter

The JBL Greenline 1501e external filter

I bought their 1501e version, which outputs an impressive 1400 litres per hour and Read more »

Raspberry Pi – Fetching live meteorologic data from the web!

In version 1.0 of the paludarium, I had fetched an entire year of data, and I put that into the controlling software. That software in turn simulated that year of weather over and over again. But wouldn’t it be the coolest thing if I managed to pull the meteorologic data live from the web? With the Raspberry Pi I figured it should be possible. Todays goal was to fetch live meteorologic data from the La Selva biological station in Costa Rica. After some fighting with basic Python, I managed to get it going!

Where the data is

The data is actually freely available here: http://www.ots.ac.cr/meteoro/default.php?pestacion=2.

La Selva Biological Station in Costa Rica - Home of the meteo station who's data I'll be using!

La Selva Biological Station in Costa Rica – Home of the meteo station who’s data I’ll be using!

I found out you can build a URL that will fetch half-hour data for one entire day. As an example: Read more »

The first two hours playing with Raspberry Pi

Unbelievable what can be accomplished in only two hours. Today I finally unpacked my Raspberry Pi and started to play with it. Pretty soon I had it up and running… This is going to work out just fine 🙂

The Raspberry Pi. This will be the new brains behind the Paludarium v2.0!

The Raspberry Pi. This will be the new brains behind the Paludarium v2.0!



Getting the Raspberry Pi to boot

I just typed up the downloads page at raspberry.org, found the tool to Read more »