Aquaponics Home System – Part 21: Water Test

The aquaponics fish tank / aquarium is filled with tap water and has been degassing for a couple of days, and it’s time to measure the content of the water:

I’m using a Pondlab 200 water test kit from NT Labs which makes it possible to test 6 different parameters:

  1. Acidity (pH)
  2. General Hardness (GH)
  3. Alkalinity (KH)
  4. Nitrite (NO2)
  5. Nitrate (NO3)
  6. Ammonium (NH4)

The backside of the box shows what you have to do to make each test, along with color scales to find the correct value:

You’ll need to add one or more reagents for each test:

The test kit includes a log for your measurements and a very informative sheet explaining the background for testing each parameter:

(I’m not getting paid to promote this kit ;-) I just think it’s cool…)

I used a straw to fill each test tube with water directly from the aquarium and a kitchen timer to tell me when each test was done:

It’s actually easier to get a full cup of aquarium water and then go and sit down at the table instead of bending over the aquarium the whole time, so I’ll do that for the next tests. Some of the tests will take up to 10 minutes before the result is ready.

These are the results from my first measurements of degassed water, but without any fish in the water:

  • pH: 7.5
  • Ammonia: 0.1
  • Nitrite: 0.0
  • Nitrate: 0.0
  • KH: 3.5 °DH
  • GH: 5.0 °DH
  • Temperature: 23 °C (74 °F)

pH: We’re aiming at a pH value between 6.5 and 6.8 because of the type of fish and plants we selected already, so it seems that there’s a long way down from 7.5, and we’re not sure exactly how to lower this parameter.

Ammonia: This is good. Ammonia is toxic to the fish and must be oxidated into nitrite quickly by nitrosomonas bacteria. 1.0 would be alarming, and 5.0 would be dangerous.

Nitrite: Also good. If there haven’t been any ammonia in the water there won’t be any nitrite because it’s oxidated ammonia. A nitrite spike is expected when fish are added to the water, but the nitrite should soon be oxidated to nitrate by nitrobacter bacteria (or nitrospira?). 1.0 would be alarming, and 4.0 would be dangerous.

Nitrate: Also good. Nitrate is oxidated nitrite and since no nitrite was ever present there won’t be any nitrate in the water. If the level of nitrate goes up and keeps going up it’s because the plant tank is not doing its job of removing the nitrate from the water. The plants need to take up the nitrate through their roots (the N in N-P-K fertilizer).

KH and GH: Don’t ask (yet) ;-)

Temperature: A heating element has been dumped into the aquarium and set at 25 °C. It probably needs some time to get the temperature up.

We’re now ready to prepare the floats for the plant tank and add some bacteria.

Configuring Software for My NSLU2 Webcam

The pictures are coming in from my webcam now and I’m using a program called motion. It’s capable of storing pictures when a movement is detected in front of the webcam, but I have disabled this feature and configured it to take a picture every 60 seconds instead. motion has a small internal web server that can be accessed from the local intranet or from Internet. I’m planning on letting the NSLU2 upload the pictures to happyfarming.com instead, but the local web server is a cool way to test if the camera is running. Here’s a print of my configuration file for motion:

$ cat motion.conf

# The program is run with motion motion.conf &
daemon off

# No debug messages
quiet on

# Path to webcam
videodevice /dev/video0

# Disable motion detection
output_all on

# Seconds between saving a picture
minimum_frame_time 60

# Picture details
width 640
height 480
quality 100

# Picture filename
jpeg_filename webcam

# The pictures are stored here
target_dir /home/thomas/motion/snapshots

# Local web server settings. Replace XXXX with desired port number.
webcam_port XXXX
webcam_localhost off
webcam_quality 50

This is the command I use for running motion:

$ motion motion.conf &
[1] 2147
[0] Processing thread 0 - config file motion.conf
[0] Motion 3.2.9 Started
[0] ffmpeg LIBAVCODEC_BUILD 3355136 LIBAVFORMAT_BUILD 3409664
[0] Thread 1 is from motion.conf
[1] Thread 1 started
[1] Not a V4L2 device?
[1] Using VIDEO_PALETTE_YUV420P palette
[1] Using V4L1
[1] Started stream webcam server in port XXXX
[1] File of type 1 saved to: /home/thomas/motion/snapshots/webcam.jpg

The picture is stored on the USB flash disk connected to the NSLU2.

The previous snapshot is overwritten when this particular configuration file is used, but it’s possible to add a time and date stamp to the filename and make a time lapse series of growing plants. I think it’s even possible for motion to collect the snapshot into a movie file. What a cool program :-D

Now I just need a way to get the picture uploaded to happyfarming.com so you’ll be able to watch me goof around in my garden and throw leeks at the camera ;-)