The Dewd Robo-Tank build thread

Dewd

Member
Hi all.  

A bit of an introduction first and then some specifics.  My name is Des and I hail from Durban - South Africa.  

I'm about to embark on my third Reef-Pi build and my first with Robo-Tank.  By first build was nearly 3 years ago on a Nano tank and I did it all from scratch - no hat boards or anything.  I'm a Civil Engineer, so this electronics stuff was a huge learning curve for me.  But I got a system working and when I upgraded my tank to the current one, I decided to go with another type of hat made by Michael Lane.  It has worked well so far, but in the meantime, Robo-Tank has come on the scene and I think it is a much better "system" and have decided to upgrade once again.  One of the main reasons is the Power Bars that make it easy to plug equipment in.

For those interested, below is a "capability list of my current Reef-Pi system - You can find a sort-of build thread here :- Dewd's Big Cube Reef-Pi build | REEF2REEF Saltwater and Reef Aquarium Forum


Hardware

  • Raspberry Pi 3B+
  • Michael Lane’s Goby Hat board
  • 2 x 8-relay boards to control equipment
  • Michael Lane’s pH adaptor + pH probe
  • 220-12V DC power supply
  • 12V-5V buck converter
  • DIY Doser Control board

Features

  • ATO

    • Normal running level ATO
    • Auto Water Change (AWC) (OUT) ATO
    • Auto Water Change (AWC) (IN) ATO
    • AWC OUT and IN controlled by Timers and Macros to do water changes
  • Temperature


    • Tank Temperature controls Heater and Chiller
    • Temp sensor on the chiller pipe coming from the chiller to monitor that it is indeed cooling the water
    • Room temperature
  • pH



    • One pH sensor

  • Dosing




    • 1 x 3 head Jebao slave doser (DP3S)
    • 1 DIY doser adaptor based on Michael Lane’s design to allow reef-pi to control doser


  • Macros





    • Feed (turns pumps etc on and off they way I want when I feed)
    • Auto pellet feeder (controls the Juwel feeder)
    • AWC process
    • Kalk stir process
    • Equipment turn on procedure (turns on return and then waits for sump level to stabilise before turning skimmer on)



  • Timers






    • Auto feeds (Feeding via pellet feeder) – various which get turned on and off as I see fit
    • AWC – various depending on how often and when I want
    • Flow / Wavemaker control – creating more random flow by turning various pumps on and off.
    • Refugium Light cycle
    • Kalk stirrer cycle




  • Equipment (Relays)







    • 220V








      • Return Pump
      • Skimmer
      • 4 x wavemakers
      • Heater
      • Chiller
      • LED lighting
      • Refugium lighting
      • Sonoff Humidity sensor for cabinet (temporary measure – plan to move this to reef-pi when I can)
      • Kalk Stirrer







    • 12VDC









      • Peristaltic pump for ATO
      • AWC Out pump
      • AWC In pump








    • 5VDC










      • Pellet feeder


So, now for the Robo-Tank content

I have ordered a DIY kit from Rob and it should be with me within a week.  I'll then start assembling the board and power bars and try keep everything updated here.

Total build will have very similar capabilites to my current system, but I'm hoping it will be more robust.  I'm having some pH spiking issues that I can only put down to bad wiring / electronic assembly on my part which I'm hoping a fresh start will eliminate.
 
Well, if tracking info is correct I should get my Robo-Tank order soon.

In the meantime, I've been looking at addressing power management and in particular, how to deal with power outages - I'm not too worried about running the entire tank when power goes, but I have seen some things happen that make me think it would be beneficial to keep the Pi / Controller "brain" alive. To this end, I have an old UPS where the Inverter side is no longer working. I also have a spare 105Ah Deep Cycle Battery. My plan is to use the battery power via a buck converter to power the Controller. So when power goes, the controller keep chugging along and doesn't lose IP address (Home network / router is on a big UPS). Other problems have bene noticed like disrupting timed operations like those scheduled by timers and Macros. At least is the controller keeps track of those events correctly, I don't mind if they don't happen, but as long as routines / schedules are maintained and equipment statuses are correct.

Yes, I hear you say, that 105Ah battery is way overkill for my needs, but my long term plan is to upgrade my return pump to a DC unit and have that power the return pump in 12V mode - much like the Vortech Battery Backup units work. Quite honestly, I don't believe one needs more than the return pump running on 50% speed to keep a tank alive. FORTUNATELY for me I live in a semi-tropical climate, so even in winter I rarely see temperatures below 15degC (59 F) and even then, that is only for a few hours and I can make alternate plans to heat the room - but with the controller staying alive, I can set it to send me an alert when temp drops too low.
 
Dewd said:
Other problems have bene noticed like disrupting timed operations like those scheduled by timers and Macros.  At least is the controller keeps track of those events correctly, I don't mind if they don't happen, but as long as routines / schedules are maintained and equipment statuses are correct. 

Dewd:

That is a big problem that I have with the current reef-pi software. In my case it caused an overdose of calcium that took me days to clean up when a power glitch reset the RPi and erased the current state of a timer. I noticed the problem the next morning... :-/

The issue is that the state of timers (and macros) is not persisted to the database so it stays in RAM, therefore the application doesn't look for it upon startup or reload; however, it does keep outlets turned on but ignoring timers/macros. This is something I have on my list of things to improve. Let's see how it goes but in the meantime the only way to work around it is by using a UPS.
 
JFReyes said:
That is a big problem that I have with the current reef-pi software. In my case it caused an overdose of calcium that took me days to clean up when a power glitch reset the RPi and erased the current state of a timer. I noticed the problem the next morning... :-/

The issue is that the state of timers (and macros) is not persisted to the database so it stays in RAM, therefore the application doesn't look for it upon startup or reload; however, it does keep outlets turned on but ignoring timers/macros. This is something I have on my list of things to improve. Let's see how it goes but in the meantime the only way to work around it is by using a UPS.

I had a power outage in the middle of an AWC and while I watched to see if there would be a problem after power came back on, the problem was there and could have been an issue if I wasn't at home to watch.

What made me start considering the idea of a UPS has bee the Reef-Pi getting assigned a new IP address after a power outage.  I'm sure getting a static IP address assigned to the Reef-pi would solve THAT issue, the UPS will probably solve that as well as a few others at the same time.
 
I've always been a fan of static IP's for small networks up to 25 nodes. You can either set it on the device or else get a DHCP reservation on the access point using the MAC address. As for the UPS my concern is that anything with an A/C motor that is connected will eventually damage it, though I reckon that low current devices will probably be fine for the life of the battery.
 
I didn't realize this was an issue with macros, I've had reports of this happening a few times when a timer has "then on/off" feature enabled. If Pi was rebooted between periods it wouldn't run again until start timer was reached. I have no idea but my thought was the main timer was made a cron job and the sub timer is counter within reef-pi which is lost when rebooted. Definitely best to setup separate timers for on/off.
 
WooooHOoo!  Delivery from Canaderp!


Awesome packaging Rob - everything in perfect order.
 

Attachments

  • 01158cb0974f8f29291e6de3b3ea897caacbf82ecc.jpg
    01158cb0974f8f29291e6de3b3ea897caacbf82ecc.jpg
    629.7 KB · Views: 2,019
So I've decided to get a new Pi for this build - mostly to be able to set it up and run it while the old system is still running.

I know there are guys out there that run a full Reef-Pi system on a Pi zero. I've always used a 3B because I had one available when I first set up a Reef-Pi. I l know the Reef-pi software is not that resource - hungry.

I pretty much subscribe to the "Buy once, cry once" mindset - within reason, so here's my question : Will I see any *Appreciable* difference in performance / user experience by upgrading to a Pi4 8GB unit?

Or should I just stick with another 3B+ unit. The Pi4 8GB is roughly 2 to 2.5 times the price of a 3B+, so if I'm likely to see a 10% improvement (or nothing at all) I might just go for a Pi4 2GB.

What's the feeling out there? Or am I overthinking this?
 
Dewd said:
So I've decided to get a new Pi for this build - mostly to be able to set it up and run it while the old system is still running.

I know there are guys out there that run a full Reef-Pi system on a Pi zero.  I've always used a 3B because I had one available when I first set up a Reef-Pi.  I l know the Reef-pi software is not that resource - hungry.

I pretty much subscribe to the "Buy once, cry once" mindset - within reason, so here's my question :  Will I see any *Appreciable* difference in performance / user experience by upgrading to a Pi4 8GB unit?

Or should I just stick with another 3B+ unit.  The Pi4 8GB is roughly 2 to 2.5 times the price of a 3B+, so if I'm likely to see a 10% improvement (or nothing at all) I might just go for a Pi4 2GB.

What's the feeling out there?  Or am I overthinking this?

Des:

My initial reef-pi/Robo-Tank installation a few months ago used an RPi 3B I purchased back in 2016 and I haven't had any problems. Then I purchased a second RT to do software development so I got an RPi 3B+ and the speed upgrade is negligible. Next I purchased an RPi 4/4GB for software development as well and the speed increase is a bit noticeable but not great *with the current reef-pi version*.

The point is that reef-pi will keep growing in size and resource consumption, and projects such as Rob's application (which uses standardized software such as Apache, MySQL and PHP) will require even more RAM than reef-pi. From there the sky's the limit. Therefore my suggestion is to go with a RPi 4 and the most RAM you feel comfortable paying for because 1) you can't upgrade it later if you need it, and 2) you will need it as the software becomes more sophisticated in the future.
 
My thinking at the moment. I'm going to go with the Pi4 2Gb model. Reasonably priced and it will work fine for the forseable future. If things get to the stage where it doesn't have the horsepower to run things, it is easy to switch the Pi out and replace with a bigger model. Same case, same SD card, just switch the Pi's.
 
Right on, glad it made the journey and box doesn't look all that bad. If you have any questions don't hesitate.

I've run the Pi3 and Pi4 and yeah 4 not much better, I think a bigger improvement would be seen if using desktop version of Raspberry Pi OS. I don't think 8gb of memory is needed especially if you only run controller, the Pi3+ has 1gb so you would be doubling it.
 
OK.  Building has started.  And is going well for the most part.  Below are some of the good and the bad - MOST of the bad are of my own doing.  The Robo-Tank stuff is great.  Good, clear instructions (if you follow them  :blush: )

Started off building the controller board.  Good thing I bought 2 controllers (second one is for someone else).  I failed on the second step by soldering the 40pin header to the wrong side of the board.  Then I discovered that my old and very cheap solder-sucker must have got married since I last used it - not sucking anymore, so I couldn't de-solder it until I got a replacement.  So I built the second controller in the meantime.  I'm happy to report that has gone very well and I have that built and installed in the case with it's new Pi4 4Gb (with reference to a previous post, I was going to go with the 2GB model, but nobody had stock, so I got the 4GB model).  I also had to buy a new 40pin header so that arrived at the same time.  

Having done quite a bit of design and 3D printing of parts like cases and other parts that interface with ready-made items, I know the challenges associated with clearances and making them fit together properly.  I must say, using the Robo-Tank cases with the Robo-Tank boards and the Pi everything has fitted together very well.  Just minor clean-up of the 3D printed parts required.  Heat gun and fingernail.

Power Bars - Here's where my next problem came in.  My print for the case failed at like 90% complete due to a power failure.  Part of Nationwide rolling blackouts or "Load Shedding" as they call it here.  I should have made sure the printer was running on the UPS, but I didn't.  I really didn't want to throw away 12+ hours of 3D printing, so I redesigned the lid to accomodate the shorter case while retaining the original overall dimensions of the case.  I may reprint a new one later for the sake of conformity.  I had a question for Rob about the Power Bar assembly which he responded to pretty much immediately and had a revised version of the assembly manual available within about a day.  However in the meantime, my haste had me make a silly mistake - I didn't insert the "plate" in the case before soldering the board to the outlets.  I think this is the main reason I will change my redesigned case to Robs original design and address both issues at the same time.

So now I have built 2 x Controllers and 2 x Power Bars.  The process is pretty painless as instructions are really clear.


So now I'm spending some quality time with Excel generating a spreadsheet listing all the ports and how I plan to allocate stuff.

For the most part, it's pretty basic with the setup being similar, if not the same to what I currently have.  Main differences being stuff I had to create from scratch is now plug and play - like the backup floats on the ATO and AWC pumps.  

I want to have a dual optical sensor and high level float backup on my ATO like Rob uses on the Robo-Tank stand alone ATO - elegant and safe solution.

Next thing to get my head around is setting up my 3-head dosing pump.  I'm currently running it on it's own PCA9685 fed by pins on the HAT and set up as Jacks and Dosing Control in Reef-Pi.  Still getting my head around the best way to handle that - but there will be a way.
 
@Rob F  Is there a document with the pin-outs for the Universal Power Bars?  I'm assuming they are the same as the others, but only using Outlets 1-6  on Power Bar 1 and Outlets 1-6 on Power Bar 2?
 
Sorry to hear about the troubles, glad you're getting through it though.

To remove that header it helps to cut it up with some cutters so you can pull each pin as you heat them, I hope it doesn't give you too much trouble.

The plate for the outlets isn't mandatory, it's just there for some extra support to the top of case. My first design was without it and it worked but there was a little flex when pushed on so I squeezed in the plate.

If your dosing pumps are 12v DC you can connect directly to a DC port and you'll have speed control in reef-pi. The DC ports can be used as outlets or jacks.

Yeah the pinout for the universal power bar is the same but only using outlet 1-6, here's the list, I just put a note on it for the power bar.

https://docs.google.com/document/d/1uFP4NfZ3-OAwox8C0ugJvecOuEv3tKm3/edit#heading=h.4i7ojhp
 
The troubles are minor and mostly of my own making, so I just deal with them.

It took me a while, but I got that header out in one piece.  New one is in already.  Wish I'd thought of cutting it up.

As far as the plate goes in the PB, it is definitely more sturdy with the plate in, but not terrible without it.  I'd prefer it to just be right though.

I'm currently using a Jebao DP3S Slave Doser and the adaptor Michael Lane makes (I DIY'd one) - It's basically just a ULN2803A chip that's fed by 12V.  Very neat and convenient though because I can use the plug into the DP3S and not have to fiddle with any wires inside.  I was thinking.... Is there any way I can use the 4 (2+2) spare pins inside the Universal Power Bars for the Dosers.  I have 3 x DC ports still available on my build so that is an option as well
 
Good job with that header, those aren't easy to remove.

I hear you on the plate, one of those things that'll always bug you.

If you only need on/off you could use those spare pins in the power bar, those are outlet 7/8 GPIO pins not being used or if you use PWM to drive them you can use the LED ports.
 
Update time.

I have my Robo-Tank installed. Only real problem I encountered was I bought the wrong RS232 DB9 cable. I bought a "Null Modem" version which the troll in the shop said was straight through, but turned out not to be. I could only get 2 x outlets on each Power Bar to work. So I've now ordered new cables from a reputable online source, but they have to come from Europe. Expecting them to arrive any day now. In the meantime, I decided to chop the cables I have in half and get the correct pin-out. Should be easy right? Wrong. 2 of the pins aren't even connected to wires - and Robo-Tank needs those 2 x pins. So now I have 4 out of 6 outlets working on each Universal Power Bar. Baby steps right?

So as it stands currently, I have the following connected and working :
- 8 x 220V outlets
- DC Ports (4 x items connected)
- 1 x ATO
- pH
- 3 x Temp probes
- 3 x Doser (On pwm light ports)
- 1 x Auto Pellet feeder
 
That stinks with the cable, I would have guessed it at least had all the conductors.

Nice list you have going, any plans for more?
 
Back
Top