Jump to content
SaltCritters.com

Empresto's 9to5 5-Gallon Cube System


empresto

Recommended Posts

Empresto's 9to5 5-Gallon Cube System

 

A 5 gallon office closet budget build (yes, the second tank in my office closet).

 

Current Full Tank Shot:

PXL_20220220_184055898.thumb.jpg.f4b03c77f98904e04a04905e990024cf.jpg

 

Contest Entry Picture:

image.thumb.png.fd926c9af8a3e2cd1c5b2d01e2873657.png

 

Equipment:

  • Tank: 9.5"x9.5"x9.5" (Internal Dimensions) 3.7 gallon Cube
  • Filtration:
    • DIY Sun Tea Container Canister filter (1 Gallon)
      • Cobalt Aquatics inline pump for water movement
      • Lily pipes for in/out/surface skimming
    • HOB Filter (holds about a pint)
  • Heater: 20W Cobalt Aquatics heading element installed in the canister filter and controlled by the Arduino
  • Lighting: AquaMaxx Nemo Light
  • DIY Arduino Aquarium Controller
  • More equipment TBD...

 

Livestock:

  • Coral frags from my other two tanks
  • TBD...

 

Highlight Links:

  • TBA...

 

This tank is basically a resurrection of my first saltwater tank, empresto's 4gal Cube. My main goal with this contest is to see if I can set up a tank from just what I have lying around the fish room, hoping to only buy things that are consumables (salt, food, additives) with the exception of possibly adding a fish I don't already own, but that's still TBD.  Might need to get a couple more snails as well.

 

As for scape, I have two pieces of BRS dry rock I've added to the sumps of my other two systems which I hope to use to make a two mountain with valley type scape.  Corals will mostly be montipora sp. along with some mushrooms and xenia for some movement.  Might add a pocillopora frag depending on how things go/look.

 

Planning to test out an idea I've had for an Arduino based controller on this tank.

 

I've got other ideas too, but we'll see where this journey goes... 🙂 

 

 

Reefin' 9 to 5, Brought to you by:

bc_2021_110x_1616785074__07235.original.png  &  spacer.png

image.png

  • Like 6
  • Wow 1
Link to comment
  • 3 weeks later...

Well, I've been super busy, so the tank is still dry.  I have gotten to work on the DIY controller. Initially I thought I'd use my raspberry pi based controller design which I have on my other two tasks, but thought this tank would be a good opportunity to try out an Arduino based controller, which is much cheaper hardware wise.  This has pointed out all the holes in my knowledge of Arduino, so it's been a fun rabbit hole.

 

The dry rock I've added to my other tank sumps seems to be collecting some coralline algae and other life forms, so it should be a good start for the cycle when I finally fill the tank.

  • Like 3
Link to comment
10 hours ago, empresto said:

I have gotten to work on the DIY controller. Initially I thought I'd use my raspberry pi based controller design which I have on my other two tasks, but thought this tank would be a good opportunity to try out an Arduino based controller, which is much cheaper hardware wise. 

would be possible for you to share more info about the arduino controller? I want to do one for my tank but I dont know what aproach to take  

Link to comment

I think you'll struggle with a single Arduino based controller that will handle multiple things like ATU, temp etc. Arduinos are single threaded i.e. cannot do multiple things at once without some fairly tricksy programming. The PI is already multi threaded and has a lot more flexibility, also there is an existing mature PI based system called reef-pi which is open source and has all the construction guides for the various systems. IMO the difference in price between a PI and an Arduino is not enough to justify the extra hassle considering most of the costs are in the ancillary equipment, sensors etc. 

  • Like 3
  • Thanks 1
Link to comment

@allesluge, absolutely!  I'll share some about my Pi-based system and my current plans with the Arduino, below.

 

@Maas101, I agree that the Arduino is significantly limited compared to the Pi, but that's where the fun starts for me 😉  I probably would have just bought Apex if I weren't in this for the fun of creative programing...  Truthfully, I don't think the lack of multi-threading is the real sticking point for Arduino in this use case (I don't really make a lot of use of parallel processing in my current Pi based controller) as the memory space for the program is the real limiter.

 

My current controller ecosystem looks something like the below system diagram.  One of my day jobs is as a database consultant and ASP.NET portal admin, so these are all things I deal with for work on a regular basis.  I have a MS SQL Server database running on a server in my basement which is used to store all tank information collected from the controller or the user app.  This server also runs an ASP.NET web API for the UWP app on the Pi to talk with as that is unable to connect directly to SQL Server.  This API is also the point of contact for the desktop and mobile app.  The whole stack is my own creation from scratch, more or less 😉 

1457389775_AquariumControllerEcosystem.thumb.png.6d71b0ccdd51fad0e27d30499e11cc6d.png

On the Pi, I have Windows 10 IoT core (another reason to be finding a new solution for my controller as the Pi is long past any decent support window on this platform) running a UWP app that does all the controller operations and acts as a tank side user interface.  This also has an Arduino Uno acting as the interface between the Pi and the temp probes as UWP doesn't/didn't have a robust way for the Pi to talk with the one-wire interface.  The Pi can control up to 16 relayed electrical outlets for dosing pumps, ATO, heater cutoff, lighting, etc. and settings for this are changed via the touch screen UI.  The phone and desktop apps give me the ability to see current status for any tanks I have connected to the API/SQL Server.  I can also record test results, feedings, notes, and other things and view that information back either as lists of actions/interactions or graphically.  I can also ask more complex questions of the SQL database directly through the database query software.  Here are some pictures of the controller setup, below.

image.png.d79c04eab47f2cad81b4f86afad783b0.png

The screen saver shows a number of pictures of tanks I have had in the past.  This was one of my nicer office planted tanks.

image.thumb.png.0dae62eca9908e5111c4921b08e4a87a.pngimage.thumb.png.7949be38575895a3ff382ab1affbf139.png

 

For the Arduino controller, I plan to keep the SQL Server, web API, and desktop/phone apps and only change out the Pi portion.  Also, to simplify what the Arduino needs to be in charge of, I plan to offload all the settings management to the SQL Server/Web API/App with the Arduino referencing these things.  This way I'll be able to make changes to the settings of the controller while not next to it (something I've wanted to add for a while anyway).

 

For those not aware of Arduino programming, there's basically two parts of the program that you upload to the device: the setup() function and the loop() function.  Basically how this works, the setup() sets up everything you need before you enter loop() and loop() is where you do your stuff that it should do until restarted or powered off.  Since this doesn't do multi-threading (a.k.a. multi-tasking), in your loop, you basically have to do one thing at a time.  So, we'll check the temperature of any probes connected (and do anything related to this data), check the ATO level sensor and turn the pump on/off, check the lighting schedule and act accordingly, check the dosing schedule and act accordingly, --other actions?--, and then write all the recorded data from this 'heart-beat' to the database.  Anything we're dealing with that we might turn on and leave on until another iteration of the loop needs to be something that can be left on for a few seconds to a minute without causing any serious issue (lights, heaters, ?) where as other things like dosing pumps are metered based on how long they run for, so when we dose, we'll stay on that activity until we've completed it.  Once I've actually written my code base I'll share more details of how I've solved specific problems you'd normally solve with some parallel process on something smarter (like a Pi) 😉

 

Since this is a large amount of code for something as simple as an Arduino, I've opted to use the Arduino Mega 2560 since it has 256KB of flash (minus 8KB for the boot loader) vs the 32KB of flash on the UNO.  I'll be outfitting this with the Arduino Ethernet shield for network connectivity and so I can store local copies of the settings on an SD card in case of network loss/server outage/etc.

 

I'm 99% sure this will work with the Arduino, so I'll share progress as it happens.  I'd assume there would be a way to implement this with an even simpler ecosystem using the Arduino to also host a web server for settings entry and data collection/retrieval (or you could even do that on a separate Arduino connected to the other one) making this more accessible to someone who doesn't have a SQL Server instance running in a closet in their basement... *pushes glasses up nose* 😉 

  • Like 2
  • Thanks 1
Link to comment

I agree that it can be done with an Arduino, and you certainly have the skills to do so *shoves pizza under the door*. I've also programmed many Arduinos and PIs. My point was for someone who was looking to follow and maybe build their own then an Arduino based system is not the best way to go. A mega 2560 + ethernet shield is equivalent in cost to a PI 3 with a lot less inherent functionality. Reef-pi is a well established system with good build guides and can be extended if you have the knowledge to do so, but if you just want an aquarium controller at a fraction of the cost of an Apex then it's hard to beat.

 

IMG_0234.thumb.JPG.5699238620627ce7beac460a837f2ab7.JPG

 

My reef-pi with 3d printed case.

 

IMG_0235.thumb.JPG.df478d8aa0c1e9137115e29f34e78cb2.JPG

 

2* PH, temp, atu, 7 outlets for hardware power control, HDMI out for a 7" touchscreen display

 

But keep the tank updates coming, definitely following your build 👍

  • Like 4
Link to comment

I'm on the other side of the pond (UK) but covid has bumped prices everywhere. I can currently pick up a 3B for £40 which is about $55. As for the touchscreen I only use it because I had one lying around from a previous project that never got finished, as sadly many of my projects don't 😥 I wish you all the best with yours and would love to see it when done...

  • Like 3
Link to comment

Thank you @empresto it is very insightful information you have shared, I cant wait to see the solution you came out with for this tank. I remember back in the day when I used to program atmel´s and microchip's micro-controllers at college almost 20 years ago. Now we can have a credit card size computer with HD video output. The first Arduino´s were basically a ready to run (program) micro-controller.

  • Like 1
Link to comment

I finally had time to successfully leak test this thing.  My DIY canister filter holds water way better than I remember, so that's great.

 

Now, hopefully I can get some salt water in this thing with some rocks and we'll be off to the races.

 

image.thumb.png.9e935d4d308fe178c68455ddaaefb489.png

  • Like 6
Link to comment
  • 4 weeks later...
On 10/12/2021 at 1:02 PM, empresto said:

My main goal with this contest is to see if I can set up a tank from just what I have lying around the fish room, hoping to only buy things that are consumables (salt, food, additives) with the exception of possibly adding a fish I don't already own,

This is a familiar goal. Several entries are in this category. A theme to live by. Re-use, recycle, make do or do without.  

On 10/30/2021 at 1:21 AM, empresto said:

I have gotten to work on the DIY controller. Initially I thought I'd use my raspberry pi based controller design which I have on my other two tasks, but thought this tank would be a good opportunity to try out an Arduino based controller, which is much cheaper hardware wise.  This has pointed out all the holes in my knowledge of Arduino, so it's been a fun rabbit hole.

 

I do admire all who have DIY skills in electronics.

Good luck in the contest.

  • Like 4
Link to comment
  • 3 weeks later...

Happy holidays, everyone!  Still haven't managed to get this tank wet yet, but I am nearly done with my Arduino Mega based aquarium controller which I plan to field test on this tank.

 

My other two tanks are growing tons of montipora, so this will be almost an 'Insta-tank' when I do get to add water.  I'll be adding rock from the sumps of those two tanks and some sand from the one tank as well.  Should be fun when it happens!

  • Like 5
Link to comment
  • 1 month later...

Tank is still dry... Hoping to get water in there soon...

 

The controller is ready for 'sea trials', so once I actually have time to get the tank started, we'll see how the Arduino does.

  • Like 4
Link to comment

The controller is working great! Aside from the initial inversion of all the controlled outlet states (on and off flipped, easily remedied in the code), it doesn't seem to have any issues. I can change its settings from the database it's connected to and it sends email alerts if there are problems.  Only known issue is if the network fails, it may also hang, but I've got a fix in the works for that.

 

Current FTS

PXL_20220220_184055898.thumb.jpg.f4b03c77f98904e04a04905e990024cf.jpg

 

The controller (the Arduino and small circuit board I made are in the blue Tupperware; cable management to come once some remaining changes are made to the controller)

PXL_20220219_223542302.thumb.jpg.5a0feb03eae7eb4a9ae97f89375326e0.jpg

  • Like 3
Link to comment

Added the rocks I put in the sumps of my other two tanks today and added some test frags from those two tanks. (Purple and red montipora, astreopora, xenia). The white patch at the top of the taller rock is where it stuck out of the water in the sump it was living in.

PXL_20220224_190504423.thumb.jpg.7100e8378e6cc6e05597be85344f701b.jpgPXL_20220224_190507526.thumb.jpg.d30ef5cee98d2763ec600228522b1a6a.jpg

  • Like 5
Link to comment
  • 2 months later...
  • 1 month later...

Thanks, @kimdawg!  Yeah, I started a new job the end of April and totally lost track of this tank.  It's currently dry again with all life in the tank moved to my 40.  However, the think I'm happiest with about this tank is the controller I built.  Works like a charm!  I've got a couple features I'd like to add to it yet (dosing, pump control, ...), but it's been the most bomb proof controller I've built to date!  Contest aside, the controller testing I was able to do on this thing was worth the whole build!

And nothing in the tank died, even though I ignored it for a good solid 3 weeks!  Win win!

And nice work on your 9to5 tank!  I've always wanted an RFA, but I've never actually gotten over my worry of it stinging everything in the tank.

  • Like 1
Link to comment

I love the RFA, I have never had them bother anything in my tanks.  I had one that wandered in the 9-5 tank.  One weekend it did a complete 360 of the tank.  Nothing in the tank was bothered by it.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recommended Discussions

×
×
  • Create New...