A friend of mine is working on a startup in SF building a water quality monitoring device aimed at the pool/spa market. They have a lot of interest in their product especially from NGO's looking to use it in developing countries. His team had started this open source water monitoring device but they did not have much time to work on it. I'm a big fan of my friend's idea and company. I think it has a lot of potential to do good. I offered to help. It sounded like a great challenge.
While the enclosure only cost about $20 in total (the pool floater + blender bottle) getting it to hold the component cables and be water tight was not possible. I could have epoxy'd the crap out of the cable port to seal it but then I would not be able to swap out the sensors if I needed to.
If you consider that the electronics all in cost over $400USD you are actually probably okay with spending $100 or more on an enclosure that will stand up to the challenges of the pool/spa environment. A cheap enclosure that leaks and ruins the electronics is not any kind of savings.
Really, the cable management situation was the biggest take away. The probe manufacturers give you several feet of lead between the sensor and the BNC terminator. I could have cut the cable down but I was really trying to not alter the sensor probes in any way. They are quite sensitive, and as it says on the SensorX site... if you cut the cable you void any warranty.
Here's a materials list in gDrive. See the tabs at the bottom, select V1.
Custom PCB's to hold each of the sensor boards. The original idea (why the boards look like they do) was to pair a photon per sensor... this way you could build one sensor type at a time. Each sensor would be stand-alone so you could put them in different spots in the pool. I abandoned this idea when I started looking at enclosure options. Rough-in of components. They all fit! Things were looking pretty promising at the time. Assembled, I guess. It technically floats (when I added about 1.5lbs of lead shot to the bottom). At least getting to this point got me to iterate on the software side a bit.