Welcome to ScapeCrunch

We are ScapeCrunch, the place where planted aquarium hobbyists come to build relationships and support each other. When you're tired of doom scrolling, you've found your home here.

DIY mega controller (ESP32 project)

Wow! This is awesome! I'd love to do something like this! As someone without any coding background, how challenging would you say something like your setup be? Where would you recommend starting?
With a Claude account and some trial and error you will be fine.
I would start with a simple temperature logging setup, it's the simplest of the sensors to work with, the cheapest and also the most forgiving!

Jump on Aliexpress (or your favourite cheap component supplier) and get:
  • an ESP32, with the prices being so cheap right now you may as well grab a 16gb S3 (N16R8), it is more than you will need to begin with but for an extra $4 you may as well!
  • a breadboard or two
  • dupont wires (female-female, male-male and female-male) you should be able to get away with no soldering as you learn the ropes with these!
  • ds18B20 sensor and module. Lots of fakes of these out there, I would look for the DFRobot version or buy multiple sensors as the fakes die quick in water.
  • a collection of wago style connectors to truly guarantee you won't need to solder
Depending on what power supplies you have around the house, you may need to also get a power pack. ESP32s work on 5V in and output and take in 3.3V through their GPIOs. If you happen to have a 5v power supply you can just use that, cut the end off and use the wago's to join to some dupont wires to make the connection. If you only have 12v PSUs then you will need to buy a buck convertor (a voltage step down/regulator)

Depending on what you already have around the house, you could set up the temp logger with as many bells and whistles as you can think of, software-wise for about $40. Adding sensors on at that point becomes just the price of the sensor and they vary from about $5 for an ok TDS sensor and module, to hundreds of dollars for Atlas Labs Ezo chips and carrier boards.

If you want to get fancy, add in a rotary encoder and OLED screen for a menu/control system for a few dollars, or just have it stream to Google Sheets or Grafana to log the data.

Happy to help along the way if you want to give it a go!
 
Awesome project 💪, I'm deep in that ESP32 rabbit hole as well. Haven't read the posts in detail , but here some ideas for you you might like I've implemented so far:
  • apart from pH monitoring CO2 in a gas pocket, so you can derive CO2 and calculate KH.
  • use a stepper motor to adjust a needle valve.
  • monitor light intensity, air pressure, pwm fan speed, and oxygen in a gas pocket.

Last December I bought myself a 3D printer, which made the interior of the rabbit hole so much nicer.

Good luck with the project, it's on my watch list now 👊
I think a 3D printer will be my next dive deeper into the madness! Although I have a thinkg for simple and classic. My smoke tinted acrylic sheets arrived today, perfect tinting as it will look like a black rectangle in the cupboard while in sleep mode, then when woken the readouts are all visible through the darkness. I have a bit to do before it gets boxed up though. I feel like your stepper motor idea has added another stage to delay the final wrapping. Very cool feature.
I have a lux sensor in the drawer, I am unsure how useful it will be though. It would alert me to a light failure while I am on holiday maybe.
What I did prior to the 3D printer, was using cheap transparent bricks to manage hardware:
View attachment 18661
That actually looks very cool!
I have the Jebao MDP-6500, the one in github is MDP-10000. Basically the same pump though.
DIY pumps seems like the way to go then. I'll use a separate esp32 board for that though. Only because the existing one is in a final enclosure ( a small ABS box and no room for more internal wiring, connections etc). Happy to look at your design thanks. I don't have a 3d printer (yet lol) so will have to figure out another way to mount them. Maybe some kind of DIN rails?

Thanks. Yes spot on. Mushroom cards and mini-graph cards. I just used the mini-graph cards on the main screen to keep it clean and minimal.


I'll start having a good play around to work out the Jebao pump. My home assistant is running on a proxmox VM, so I have linux at my disposal for packet sniffing etc which is what it's very good at.

Great, DIY pumps it is. I'll look forward to putting that together. That is one thing I have stabilised is the fert dosing. Just currently done manually. I wonder for the macro solution, is a magnetic stirrer warranted? Mine mixes up pretty good so probably don't need it.

If my current charts don't do what I want, I'll look into grafana then. Did you use the HA remote connection (which you pay for) or something like tailscale - that's what I intend to use.

The flow valve idea I actually have on my list lol for the exact reason you do. I figure once you have the settings for a clean filter and tubing etc, then for example once the flow is reduced to like 85% it triggers a phone notification. I think that would be a nice addition.

The beauty of a DIY system like this, you can continually amend, add ideas, bolt on new hardware etc. Its basically only limited by your imagination.

Oh very cool and functional dashboards btw.
I use Tailscale and have an android tablet in the cabinet running it, along with having the settings page and grafana as the home screen.
 
With a Claude account and some trial and error you will be fine.
I would start with a simple temperature logging setup, it's the simplest of the sensors to work with, the cheapest and also the most forgiving!

Jump on Aliexpress (or your favourite cheap component supplier) and get:
  • an ESP32, with the prices being so cheap right now you may as well grab a 16gb S3 (N16R8), it is more than you will need to begin with but for an extra $4 you may as well!
  • a breadboard or two
  • dupont wires (female-female, male-male and female-male) you should be able to get away with no soldering as you learn the ropes with these!
  • ds18B20 sensor and module. Lots of fakes of these out there, I would look for the DFRobot version or buy multiple sensors as the fakes die quick in water.
  • a collection of wago style connectors to truly guarantee you won't need to solder
Depending on what power supplies you have around the house, you may need to also get a power pack. ESP32s work on 5V in and output and take in 3.3V through their GPIOs. If you happen to have a 5v power supply you can just use that, cut the end off and use the wago's to join to some dupont wires to make the connection. If you only have 12v PSUs then you will need to buy a buck convertor (a voltage step down/regulator)

Depending on what you already have around the house, you could set up the temp logger with as many bells and whistles as you can think of, software-wise for about $40. Adding sensors on at that point becomes just the price of the sensor and they vary from about $5 for an ok TDS sensor and module, to hundreds of dollars for Atlas Labs Ezo chips and carrier boards.

If you want to get fancy, add in a rotary encoder and OLED screen for a menu/control system for a few dollars, or just have it stream to Google Sheets or Grafana to log the data.

Happy to help along the way if you want to give it a go!
Awesome! I'm going to dive in this weekend. I've never ordered anything from aliexpress, so if you have any sellers/links for products or sellers you had success with, I'd more than happily accept them.
 
Awesome! I'm going to dive in this weekend. I've never ordered anything from aliexpress, so if you have any sellers/links for products or sellers you had success with, I'd more than happily accept them.
The prices swing so randomly on these small components on there that I wouldn’t suggest sticking to certain sellers. There is also a million of them with unrecognisable names, I never really take notice of them.
I look for the amount of sales they have made of the item you’re buying.
If they’ve sold a few thousand of them, it’s a safe buy.
I’ve bought hundreds of items ranging from small cheap components, to my Week Aqua lights and only ever had to return 5 items. Aliexpress do handle returns well too, either refunding you instantly for cheap small items or giving you free returns with post office drop off for larger items.
 
On the jebao pump, I'm planning to use one as well, but still debating between mdp with wifi or dcp model and just using a relay for on/off control. I've seen the same ha integration as you and have had the same thoughts.

If you want to go with diy/stepper driven pumps, you (or anyone else interested) can have my dosing pump circuit board and enclosure design.

Nice dashboard! Is it using mushroom cards and mini graph cards? I haven't gotten that far yet.
FYI the Jebao Aqua integration is the one you want through HACS.
They just had an update and it picks up the MDP Jebao pumps straight up.

1784768729154.webp
 
Stepper motors ordered to play around with for precision needle valve control.
Thanks for the idea @PeerUnk . $5 addition if it works how I expect! Although my wife would appreciate if people stopped feeding my new addiction to diy automation 😂
I also ordered some esp32 cameras to play with some ideas.
Fish eye lenses for tank check ins, and some fixed macro focus lenses for glass mounted drop checker time lapse linked to ph graphs.
 
Interesting, hopefully small, wrinkle in the controller setup occurred this week.
I set up a Shelly 2pm plus, a wireless 2 channel relay, to control heating and cooling using the diy controller setup. Retiring the old stc1000 temperature controller, keeping with with goal of unifying control of the tank under one setup, but also keeping 240v (our mains voltage) away from the inside of the diy box.
I have been suffering strange sensor bounce and ph reading higher when heaters are on.
After searching for wiring and positioning faults everywhere, I found nothing. Eventually I have come across another person having similar issues with the Shelly, and it seems there is low level electromagnetic interference caused by the device, but enough to mess with TDS , ph and pressure sensors.
No real warning about it in the reviews and documentation I read pre-purchase, as people tend to use these for rollershutter motors and pool pumps etc, not aquariums with precision sensors!
Resistance/capacitor bypasses on sensor lines has bandaided the issue for now, but will need to solder an EMI filter into the shelly power socket setup.

Fingers crossed it solves it, as I don’t want to search out another decent remote relay!
The Shelly has its own esp32 in it, and can be scripted to act as a failsafe in case my tank controller goes down. It senses the disconnection and then can run it’s own schedule and notify my phone that the controller has disconnected/turned off.
 
Reviving an old thread with a question. I've set up a stand alone Mac Mini to run an AI bot 24/7. Could you link your system to an AI like Claude or Muse so that it monitors, controls and sends alerts?

I'm assuming mostly around safety concerns. For example, the AI alerts you that pH has dropped beyond a certain point. You tell your AI to turn off the solenoid. Or, send you an alert when a water monitor is triggered?

Given that I am not an electrical engineer (or any type of engineer), I have no idea if this can work but thought I would ask as tank safety is something very important when you're away from it.
 
Reviving an old thread with a question. I've set up a stand alone Mac Mini to run an AI bot 24/7. Could you link your system to an AI like Claude or Muse so that it monitors, controls and sends alerts?

I'm assuming mostly around safety concerns. For example, the AI alerts you that pH has dropped beyond a certain point. You tell your AI to turn off the solenoid. Or, send you an alert when a water monitor is triggered?

Given that I am not an electrical engineer (or any type of engineer), I have no idea if this can work but thought I would ask as tank safety is something very important when you're away from it.
You can, but most things that are "if this then that" are easy to automate and don't strictly need the overhead of an llm.

Home Assistant speaks really well to ESPHome devices, and you can use Claude or similar to write and test the automations for you.

If you wanted to avoid home assistant, then yes - you could have the AI bot monitor the live feeds from the ESPHome devices, but I'd guess a live feed would be token heavy (if you weren't hosting your own instance).
 
Reviving an old thread with a question. I've set up a stand alone Mac Mini to run an AI bot 24/7. Could you link your system to an AI like Claude or Muse so that it monitors, controls and sends alerts?

I'm assuming mostly around safety concerns. For example, the AI alerts you that pH has dropped beyond a certain point. You tell your AI to turn off the solenoid. Or, send you an alert when a water monitor is triggered?

Given that I am not an electrical engineer (or any type of engineer), I have no idea if this can work but thought I would ask as tank safety is something very important when you're away from it.
Definitely could, but I don’t want AI making those choices just yet.
I have set actions for most outcomes I can think of anyway, and as more present themselves I can do so then. The beauty of this system is that if I read about, or think of something that could cause an issue while I am away from the tank I can set up a standing rule for action based on sensor readings.
I get alerts for anything out of the ordinary, and have set up a custom phone app that gives me full control of pretty much everything in the tank!
Where AI comes in real handy is analysing data and tank logs. The controller logs all actions, sensor reads, warnings and even it’s own status.
I have months of logs and metrics (I think about 100 different metrics now!). I have a script that feeds the previous 36 hours into Claude when I log onto my computer for work each morning and it analyses it for any shifts in trends, controller faults and checks that everything looks consistent. It has spotted some intermittent sensor faults from loose connections and once it spotted that the kH had shifted slightly due to a change in the starting pH (the pH when CO2 switches on each morning) which turned out to be a scale that had a drifting calibration and meant more potassium bicarbonate went in at water change.
 
IMG_7828.webp
Had the box open to add in a larger memory chip, to allow for longer time frames to be set on the front panel graphs and thought I would take a picture of its current setup.
3x esp32s3s all have their own separate roles, water changing, communication bridge with all the external services, and control of the tank, but are linked via ESPNow so data is sent fairly instantaneously between them.
DIY Murata power module on the bottom left has been a huge upgrade from the last controller, as it produces almost no heat and that tiny little board has 4x 5v and 1x3.3v converters, to keep power supplies seperate and minimise any issues crossing over from one part of the controller to the other.
Setup is a dream to add new sensors or modules to, most of it is pretty plug and play and future proofed with room on every power and signal bus.
 
Where AI comes in real handy is analysing data and tank logs..
I have months of logs and metrics (I think about 100 different metrics now!). I have a script that feeds the previous 36 hours into Claude

💯💯

Remember children: at the end of the day an LLM is essentially MS Excel, in drag 👍

1000054455.webp
 
Last edited:

Top 10 Trending Threads

Back
Top