About the Aquaponics Control System

Aquaponics control system

The aquaponics control system

We have designed and built a system to take measurements from the aquaponics installation, log them and also display them over the internet. The system can also control a valve to allow the plant bed to be watered.

You can see the live data as it is collected by visiting the system dashboard here. If you want to download the data in a spreadsheet then you can click here.

The system has lots of sensors, an Arduino micro-controller to gather the measurements, a Raspberry Pi computer to control the system, and relays to control the valve.

We’ve written software for both the Arduino and Raspberry Pi, and these programs work together to monitor and control the system.

Diagram showing the aquaponics system design.

Diagram showing the aquaponics system design.

We are excited to have delivered an advanced aquaponics system that does more than commercial systems costing many thousands of pounds. Needless to say we didn’t have that sort of budget!

We’ve been able to quickly deliver so much functionality at such a low cost by leveraging the enormous amount of work that’s already been done and then freely shared by other talented engineers across the world. To find out more about this sharing system (open source) click here. Our software can be freely downloaded here and the hardware designs here.

The aquaponics system has 13 sensors connected to an Arduino micro-controller. The Arduino has many different expansion possibilities and it can be easily connected to other individual electronic components. It’s job is to connect to the sensors and read each one in turn.

Arduino Micro-controller

Arduino Micro-controller


Shield to expand the Arduino’s connections












The Arduino is connected to an expansion ‘shield’ to extend the number of sensors it can read.

The expansion board has extra circuitry on it to amplify the tiny signals produced by the pH probe, the ORP probe and the EC probe.

Raspberry Pi computer

Raspberry Pi

At the heart of the aquaponics control system is a Raspberry Pi.

The Raspberry Pi is a credit card sized computer that is designed and built in the UK. It runs the control software system and sends video and data to the internet.

The Raspberry Pi has an expansion connector that is used to drive a custom built board for the webcam lights and the solenoids that control the valve between the tanks.

The software running on the Arduino and the Raspberry Pi together make the system work. The code for the Arduino is written in a language called Wiring that is based on C++:

for (int i = 0; i < 1000; i++) {
total = total + (.0264 * analogRead(pin) -13.51) / 1000;

The control software uses a very different system that represents the flow of messages through the system visually:

Visual programming using Node-RED

Visual programming using Node-RED

To program the system, blank ‘nodes’ (the ovals) are dropped onto the page and then customised. The nodes of the program are then connected up and the messages follow the lines.

Systems like this are often called event-driven, because the system reacts to events as they occur, rather than run through a series of instructions.

Secured By miniOrange