Introduction: Build Your Own Spa or Pool Monitor

Anyone who has owned a hot tub knows that without keeping a close eye on the water with test strips and water test kits, a hot tub can quickly become green, cloudy, and unusable.  A pool can often be just as hard to manage.  Monitoring the water chemistry 24/7 and alerting you when chemicals need to be added is invaluable to managing the water quality in your spa.  This was my motivation behind the SpaSitter, an open source spa or pool monitor using a Nanode (an Arduino based network enabled node) and 's easy graphing API and triggers. Now you can always have easy access to your water conditions on your smart phone or the web.  Set up email alerts to notify you when water conditions start to degrade.  

Remotely monitor pH, ORP (Oxidation Reduction Potential), and Temperature
More documentation can be found at the OpenSpaMonitor blog.

List of Tools: 
Solder iron 
Wire strippers

List of materials: 
Nanode Classic or better with Optiboot loader - Developed by Ken Boak and the London Hackspace 
2 -  Phidget 1130 ph / ORP adaptors
pH probe with BNC connector (preferably industrial grade probe)
ORP probe with BNC connector  (preferably industrial grade probe)
waterproof DS18B20 temperature sensor
4.7K ohm resistor 
Bread board or proto board for temperature sensor
5V power supply for Nanode (AC wall adapter or Batteries)
FTDI cable (USB to serial converter to program the Nanode)
Long Ethernet cable or Ethernet over power-line adapter
Waterproof project box
pH 4 and pH 7 reference solution (optional but recommended) 

Make the SpaSitter 2.0 for web-based monitoring of water chemistry in swimming pools, hot tubs, aquariums and other bodies of water.  We have spent over a year testing the continued use of the pH and ORP (Oxidation Reduction Potential) probes in a hot tub environment. They have remained very accurate and react well to changes in water chemistry. These high quality industrial grade probes are expensive, but they will outlast any cheap commercial monitor. They can also be reconditioned and calibrated as needed.  The cheaper 30 dollar pH and ORP probes worked for a couple months,  but are not suitable for extended use or hot conditions.

Its easy to use!  Drop the sensors into the water and put the electronics in a waterproof project box.  Run a Ethernet line out to the monitor and plug it into a power supply.

Step 1: Build Your Nanode

Assemble your Nanode 5 with an Opti Boot Loader 


Nanode RF with no RF module

If soldering isn't your cup of tea, you can buy pre-assembled Nanode boards.

Step 2:

Build a temperature shield with the water proof DS18B20. Use digital pin 8 on the Nanode as the one wire input pin.  The red wire is 5V power, black is ground, and yellow or white is digital input.

A breadboard or proto board can be used for this step. 

Step 3:

Solder the Phidget 1130 pH and or ORP boards (Wiki: to the Nanode board.  Red is 5V, black is ground, and white is the analog input.  You can cut down the long phidget 1130 wires and strip the insulation off the ends.   Combine the red wires together and solder them to the outer 5V pin.   Do the same for the black wires and land them on the ground pin.

Analog Pin 0 is the pH probe input, analog Pin 5 is the ORP probe.  Solder them on the outer pins of their respective place. 

Connect the pH and/or ORP probe to the Phidget 1130 board.  Select the correct setting by moving the indicator switch,  make sure the pH probe is attached to the pH board and the ORP probe is attached to the ORP board.  There is a little toggle switch on the board that indicates if the board is used for pH or ORP.  

Add the temperature sensor that you built in step 2 to the Nanode.  

Step 4: Edit and Upload Your Code

Now its time to put it all together.  Setup a account.  Here is a great tutorial at Adafruit Learning System.

Download the Arduino IDE software:

Download the sketch for the Nanode at github:
* Code adapted from the  authors Trystan Lea and Glyn Hudson
** Note, you need an FTDI cable for uploading the sketch to the Nanode

Add your feed ID and API key to the part of the sketch referenced in the image. 

Using your FTDI cable, upload the sketch to your Nanode.

Step 5: Calibrating Your Probes

Get some standard reference solution for you local hydroponics grow store or from a chemical supply site.  Also fill a spray bottle with distilled water for cleaning the reference solution off of the glass probe junction.  Do not touch the glass probes with your fingers, as it leaves oil residue that will influence your reading. Also, always be sure to rinsed the electrode thoroughly with distilled water only when calibrating. 

Two calibration points will be fine: pH 4 and pH 7. Though for better accuracy, use pH 10 as a third calibration point.  Get two glasses (or three if you use a third calibration point) the kitchen and rinse them with distilled water. Add enough reference solution so that the glass probe will be fully immersed in the solution.

Place the pH probe in pH 4 solution and wait one to two minutes. Using the serial monitor on the Nanode, read the output of your pH probe (un-comment out the #debug  serial.print function) . Write down this value. Remove the probe from the pH4 solution, rinse the glass junction thoroughly with distilled water and then place the probe into the pH 7 solution. Allow the reading to equilibrate as before and record the output. Repeat the process with the ORP probe. 

The ORP probe in the pH 4 reference solutions should read around 740 mV and the pH 7 reference solution should read around 580 mV.

Now that your probes are calibrated and your SpaSitter is tested and working, its time to install it.  Run an Ethernet cable and power supply out to your  hot tub, pool or other water body and put it all in a water proof project box.   Have fun with your new SpaSitterTM.   Setup email or text message alerts to notify you when the conditions of your water need attention.  Add the widget to your smart phone for easy access to your SpaSitter.