I’ve always had an interest in aquariums and have considered getting a ‘real’ one ever since I had a very small one with a few goldfish as a small child. Fast-forward to now: my wife and I decided to get a 10-gallon tank as a Christmas present for our 2 kiddos. Immediately, I knew I wanted to control and keep tabs on it as part of my Home Assistant setup, using ESPHome of course. Things like lights (both for visual effect and for growing plants) and temperature seemed obvious, but beyond that I wasn’t sure what types of data would be useful or attainable/justifiable (as well as what types of sensors were reasonably priced for something that’s simply a hobby). After spending a bit of time doing some general research on the interwebs (as well as brainstorming), I came up with the following parameters I felt COULD be viable to either control or measure:
- Automatic feeder
- Water filter/pump control
- Water temperature measurement and control (heating and cooling)
- Visual lighting
- Grow lights
- Water leaks
- Water level
- Total Dissolved Solids
- Total Suspended Solids / Turbidity
- Power draw
- Water filter (know when it needs to be changed)
- Camera
- PH of the water
Automatic Feeder
Useful/handy in general, but of specific need for when we are out of town. Started off testing out a couple 3D printed designs I found that seemed like they could work. Ultimately none of these worked all that well or consistently (even after my own modifications). Decided to buy a cheap timer-style one that’s simply a rotating cylinder and see if I could easily control it myself; couldn’t have gone better as it was trivial to directly control it (as well as monitor it’s operation), was inexpensive and has worked VERY consistently. It also had a limit switch that engages on each rotation of the feeder, allowing me to confirm that it actually ran (handy when we’re away from home).
Water filter/pump control
Originally didn’t plan to control this, but I ended up with an extra relay/outlet. Has come in super-handy when doing maintenance on the aquarium; push a button on my phone and the pump and heater both shutoff.
Water temperature measurement and control (heater and cooling fan)
Measuring temperature was obvious. Controlling the temperature wasn’t necessary (the heater does this itself), but it seemed ‘fun’ and potentially useful. Ultimately found that the temperature drifted quite a bit when just using the heater, so controlling it actually made more sense than I originally assumed. Generally cooling isn’t needed (and is all but certainly not in my climate), but possibly could be and simply consists of using a fan, so why not include it? I included pinouts for adding a 12V PC fan if it ever proves useful.
Visual lighting
Pretty obvious as a want/need and individually addressable LEDs (Neopixels) are easy.
Grow lights
In our case, having actual plants was a large part of things, so a grow light was a must. A 12V LED strip was used. I originally tried a 5V strip, but I kept getting some flicker no matter what electrical modifications I made (my suspicion is that the WiFi on the board was causing noise).
Water leaks
I’ve previously installed leak-detection cables in multiple locations of our house and found them to be super-handy. It seemed obvious to put one near/under the aquarium to alert us to any leaks that might not be immediately obvious. Additionally, this initial tank is located in a bathroom so it made sense to also include additional leak sensors to capture other potential sources of leaks.
Water level
There are multiple types of sensors you could use to measure the water level but I decided early-on to try using a ToF sensor. Wasn’t sure how well this would actually work, but I’ve found it to work ‘well-enough’ to let me know when I should start preparing some water as well as when the water level gets low enough that it NEEDS to have some added (so the pump can stay primed).
Total Dissolved...
Read more »