News, tips, advice, ideas, experience…

Pond powered by FileMaker and Raspberry Pi by Milan Zach

A few years ago I made one of my dreams come true. I built a pond in our garden. There are water plants, fish, and other water animals living in the pond. To keep the pond in good conditions, I have automated control of its environment with the help of Claris FileMaker and Raspberry Pi

First year with the pond was mostly easy. There were not too many fish, plants were small, there was no dirt from the trees surrounding the pond. Second year was an eye opening lesson as it brought several issues.

Pond issues

The pond contains about 35 cubic meters of water (about 9246 gallons) and it’s 2 meters (6.5 feet) deep in its deepest point. It is equipped with both mechanical and pressurized filter, UV light, pumps for filtration and waterfall, and an air pump.

Pond
Pond
Pond
Pond technology
Pond technology

The first issue I faced was with the water getting too warm. In the summer months on sunny days, when the air temperature exceeded 30°C, the heat was getting even to deeper parts of the pond thanks to water circulation. The water for waterfall was being suck by the pump from the bottom and flowing back to the pond over the hot stones. Since water temperature was essential for the fish lives, it was necessary to keep it under 25°C.

Second issue was water clarity. During sunny days, when the water temperature was sufficient for algae to grow, the water was getting green and cloudy. So it was important to add some germs to help getting rid of dirt that was otherwise feeding the algae. Adding germs, however, required to turn off the UV light for a few days, because it would immediately kill them. Having to go to the tight technical shaft to turn off the UV light one day and then again to turn it back on two days later was not very convenient.

Algae
algae
Algae
Algae

I enjoy taking care of the pond and I know it’s a live environment, that I have to adjust my care to, even according to current weather. Unfortunately, constant monitoring of temperatures, turning the UV light on and off, and other tasks, started to annoy me. So I started to look for ways how to automate the repeating activities and focus only on important and less boring things.

Temperature monitoring

The first activity I got automated was monitoring the temperature of both the outside air and the pond water. For this purpose i used Raspberry Pi with various temperature sensors. The Raspberry Pi itself is connected to my home network over WiFi and regularly submits the measured values to a database.

Raspberry Pi
Water Temperature Measuring

I am using PostgreSQL as a highly efficient intermediate storage of the raw data, which I am pulling to my FileMaker app using ODBC. Extra benefit of using PostgreSQL is that I can also easily use the same data to feed web applications.

Based on the collected temperature stats I was able to figure out what water temperature would be the best, and perform further improvements.

Waterfall pump control

The next component I automated was the pump for my waterfall. I connected the pump to a remotely controlled power outlet. I could control the outlet either directly using the GPIO pins on the Raspberry Pi, but to retain the original functionality of the switch and avoid tampering with it I decided to simply emulate the remote control.

Water Pump
Remote Controlled Outlets

To control the power outlet, I loaded the control signal sequences to Raspberry Pi, and added a radio transmitter to the Pi to transmit the control signals.

Remote control app

I used Claris FileMaker to create a database with an overview of the pond status (water temperature, air temperature, historical data, status of electrical devices), where I implemented some logic and rules how to control individual devices based on the current state.

Mobile App
UV Light
Water Pump Switching

For example, I can use a native FileMaker app, built with Xgode and running on my iPhone, to remotely turn off the UV light for a predefined amount of time after I have added germs to the pond, so that they can sufficiently procreate. The UV light automatically turns back on after the specified time elapses, so that it begins killing unwanted algae again.

Automation using FileMake Server

An automated schedule running on FileMaker Server then constantly monitors the water and air temperature during days and nights, and activated o deactivates the waterfall, to ensure that the pond water does not get heated or cooled unintentionally. Thanks to this I am able to maintain the water temperature within limits good for the fish and other animals.

Yet another thing controlled by a FileMaker Server schedule is the pond airing, depending on current needs. During warm months it is bringing more air to the shallow waters, while at night it is blowing air to the deep bottom of the pond in order to mix the water and let it cool down from the outside air.

Air Pump
Airing
Airing

Enjoying the results

Since the pond is my hobby, I like to also look at graphical reports, where I can see how the water temperature was changing over time in comparison to the air temperature. When an unexpected situation arises, I am automatically notified by a push notification sent to my cell phone, so I can respond promptly.

Temperature Chart

In the future, I am planning to collect more data about the pond, such as pH of the water, and other values that may have significant impact on the life conditions in the pond. The existing automations have, however, already freed me of all the tedious repeating maintenance activities, so that I can truly enjoy the pond and relax.

Temperature Chart

This pond is my hobby. And I am glad I could take advantage of my work expertise and experience to enjoy it even more. On the other side, I can now take the experience I gained with the pond back to my work, and use it for the projects we do for our customers, enjoying the work even more.

By completing and sending the form you agree that 24U s.r.o., a company established under the laws of the Czech Republic, with its registered office: Zvole u Prahy, Skochovická 88, CZ-25245, registered in the Commercial Register with the Municipal Court in Prague, section C, inset 74920 will use your personal data contained in the form for the purpose of sending 24U’s news, updates and other commercial communications. Providing 24U with personal data for the said purpose is optional. Details on personal data processing and on your rights connected therewith are contained in 24U’s Privacy Policy.

Loader Image