Pool temperature monitor using PVC pipe, ESP32 and a DS18B20
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Two issues have cropped up recently with the Pool Temperature Monitor. The first one is related to my code. There have been two instances where it stopped sending updates to Adafruit IO but continues to work if reset. We are pretty sure the first time this happened my parents house lost internet overnight and obviously my code did not handle it well. I plan on pulling it out this week to try and fix that issue.
The second problem is related to moisture. The last time it stopped working I pulled it out and noticed condensation collecting on the top of the screw cap. There was also some additional liquid at the bottom which has slightly rusted the BB's. My parents said the last time my kids were swimming my son pulled it underwater so that may be the initial source of the moisture or it may just be naturally happening.
I used thread sealant that is really old so I also plan on cleaning it up and applying some fresh sealant. Some people have suggested adding a solar panel but waterproofing was the main reason I did not try this approach. There is obviously a way to do it well but I did not want that additional complexity.
The pool temperature monitor has continued to work great so I have moved on to the temperature display. Below is a picture of my first attempt. It should hopefully last almost 2 months on a full battery because I am only updating the display every 2 hours.
The pool temperature monitor has been in the pool on and off for a few weeks with mixed results. It would not always connect to wifi and even when it did there were issues publishing to Adafruit IO. After swapping in a new ESP32 board and some code enhancements, it is now updating regularly every 30 minutes. I will continue monitoring the battery usage to determine when the battery needs to be swapped out. The good news is so far, there have been no moisture issues inside the PVC and the 3D printed float piece seems to be holding up well to the chlorine/sun.
The battery voltage was optimized for the previous ESP32 which was underrepresenting the voltage. I'll need additional code changes to get it to be more accurate for this board.
The pool temperature monitor is currently deployed. I updated the code and set a longer wait for the Wifi connection for reliable temperature readings every hour. I will continue updating the log with the progress and how well it does in the elements. The gallery is also update with pictures of it floating in the pool and the internals. I used crude 3D printed parts to keep everything in place inside the pvc. I am still learning openscad so may improve on the design in the future.
The current state of this project is refinement. I have the physical and electronic design complete and have been tweaking the code. I am using Platform IO for development and now need to reduce the time it takes to connect to the wifi router. With the current code it does not always connect after waking from deep sleep because of the limit I created on the number of attempts to reduce battery drain. Hopefully using static IP and setting the channel will decrease the time it takes to connect.
Create an account to leave a comment. Already have an account? Log In.
Any luck in getting some more information online? My OSH Park order arrived the other day but I haven't dug up a list of stuff I need to source that I haven't managed to ascertain from the pictures and components list.
Sorry for the delay. I added the GitHub Repo to the project page which includes my openScad file. I don't have any pictures of the protoboard but I can take some today.
Thanks for putting this up on Github! Poking around in the scad, it seems like what is labelled as the batteryHolder() is really the board holder and the battery holder with the battery recess might be missing?
Nice, add a small solar panel on top and it's good. What esp32 board is that? It looks a bit smaller than then one I'm using plus has some useful io connectors. Maybe a grove connector on top?
I am using the board linked below that I found on OshPark with the corresponding adapter for the Adafruit USB to Serial board. I wanted something simple and more importantly slim so it could easily fit inside the PVC. It uses minimal components and was pretty easy to solder.
https://oshpark.com/shared_projects/hciJOsgc
https://oshpark.com/shared_projects/B9to99oI
I'd also love a more specific parts list, after poking around the usual suspects (Aliexpress, Amazon, Sparkfun, Adafruit) I couldn't seem to figure out which ESP32-WROVER board you were using or find a breakout board that has JST connectors on it like that.
I did find some Type-C TP4056 BMS on Amazon that look like they'd work, and I've already 3D printed up one of those Magtag cases for the next time they come in stock on Adafruit.
Check out my comment above for the ESP32 breakout and adapter board I am using. I can update the component list with other ancillary parts I ordered from Digikey.
Any plans on publishing your STL files and code for this project? I've been meaning to do something similar and this looks like it checks all the boxes! Great project.
I will also work on cleaning up the code and I'll add a link to my github repo.
I'll clean up the openscad code and post it here. I printed it in different pieces and then glued everything together. It is not pretty but is very functional.
Become a member to follow this project and never miss any updates
By using our website and services, you expressly agree to the placement of our performance, functionality, and advertising cookies. Learn More
Hi, The magtag display looks great, could you share the code for it? Did you try getting the temp sensor to reboot every night at 2am to prevent it disconnecting? I have a similar set up except Im using a pi zero W to send temperature to adafruit.io