Jason's ReefPi Build

I'll lead with my questions, then give you my build plan/process:
Open Questions:
  1. I don't have the lights option on the top ribbon. Any thoughts why it's not showing?
  2. I want to control my lights but am not to that part of the build process. That said, my quick searches haven't snagged me a reference or lead to follow. Any advice for how to figure out the integration? (I have Relassy lights: )
  3. Protein Skimmer auto dump the junk, has anyone done this? (I haven't spent any time on it, but have thoughts)

I have successfully installed ReefPi and tested with an LED and have my hardware on order (should all be here by Friday). I'll start small with just a temp and move up from there.

Hardware (to grow as I integrate it):
  • Raspberry 2 B
  • ReefPi V5, (I have texting notifications and remote access working)
I already have float switches to auto-kill my protein skimmer if the catch gets full and auto refill my freshwater RODI tank when low.

ReefPI not integrated yet, to be completed list:
  • Power Controller
  • Temp monitor (with auto kill switch & text if hot/cold)
  • ATO
    • Text if water below bottom float (& water change low point)
    • ATO refill point (&water change refill point)
    • Test if water above high water point
  • Auto water change (I had ATO and water change on a doser, but terrible use of the tiny motors, I'll redo this)
  • Water overflow sensors (on top tank, on top of sump, in sump liner and on floor [yes, I've had a leak or two over the years...])
  • Protein skimmer dump time (I'm assuming there isn't a good way to automate the dump?)
  • Lights (I have Relassy, wanting to integrate them but haven't researched this beyond I haven't found someone doing it)
  • Doser (at this point, I'm doing things just b/c I can ;) )
  • Salinity: Salinity hand testers are cheap, there's surely a way to integrate this just for fun.
  • PH, if there's a cost effective approach, I'm interested. Right now I don't track it at all
  • Put in battery backup w/ text notification of power issue (and drop all but the most required power)
 
Last edited:

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Welcome to reef2reef.
The light module can be enabled from configuration section. Reload reef-Pi after that and light module should appear in ui after that.
Skimmers like Red Sea, which has outlet for skimmate drain , should be possible to drain using a 12v off the shelf solenoid.
pH module with atlas circuit is 100$ extra. 50-50 for probe and circuit. I feel Salinity is the least important (if you have ato) , but if you want you can use atlas scientific ec probe just like a ph probe to monitor salinity.
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Ranjib,
Where do you find all the time?! Thank you. The light option indeed was just setting the config...

Thumbs up on using a solenoid to drain the skimmate drain. The water get pretty gross, after thinking it through, I'm going to drain it to the same drain pipe for the auto water change and have the Skimmer drain right before I pump out the tank saltwater. This should push the grossness out of the pipes to limit backup problems.

Salinity is just for kicks to double check to ensure I don't drift over time with the AWC.
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Ok, here's where I'm at now...

I now have my Pi Hat built out for the controller. And now I have a problem that I'm looking for someone to confirm with me. When prototyping out the board, I mistakenly plugged in the ULN2803 Darlington transistor backwards. I didn't check the pinout and put it in the same way it's pictured in the build. I pushed power through it for several minutes before I narrowed down the problem and flipped it. :( Totally my fault for not checking the pinout. I'm an electronics noob... Dabbled forever, but this is my first real committed project...

Anyhow, I flipped it around and got everything working. No harm done??? Well, that's what it seemed like. After a few more minutes of power, my volts started modulating on and off. After some debugging I narrowed it down to the transistor. Without the transistor, my power is solid. Once power is on the com, it drains all the power for 3/4 of a second, then I get volts again for 1/4 of a second or so.

Am I right to assume that I burned out the transistor and go buy another one? or is there something else going on?
 

robsworld78

Well-Known Member
View Badges
Joined
Feb 14, 2020
Messages
952
Reaction score
1,281
Location
Edmonton, Canada
Rating - 0%
0   0   0
It's hard to say why it might be doing that, it sounds like something is shorting causing the on/off cycle. It could be internal or some wiring. If you post some clear pics of everything we might be able to spot something.
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Thanks Rob.

Here's a picture of the board. I'm pretty sure it's either a wiring design issue or the transistor b/c the issue replicates on my proto board. When I add the transistor it is cycling as you say.

Here's a description of the wiring (see bottom picture), oriented with up as where the pi mount is behind so you can see the wiring:
Bottom left: Gnd from power source, 5v from Bucks out+

Transistor up (left to right): Gnd (via upper gnd), signals from pi for GPIO pins 27, 22, 23, 24, 25, 5, 6, 12
Transistor bottom: 12v from power source, signals transferring to power connector
Below Transistor: 12v from power source and below that is 12v to the buck

Right hand side: gnds for buck in & out.

Any feedback on my soldering is welcomed. While I've soldered, I've never done a PCB board before. If you see anything, let me know, no hard feelings!

I will say that it was working on the prototype board. I had the power controller flipping successfully. It was when I moved to the pi hat that it had issues. But then when I took it all back to the proto board the issue came along with it.

20211205_202347.jpg
20211205_202924.jpg

20211205_202305.jpg
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Update. I went to take a video and felt the transistor while powered up. It's Crazy hot. Nearly burned myself... (noob here with no idea if this is helpful or not ;))

And the 8 'transistors out' are all leaking ~1.4 volts each without the pi attached, so no signal is coming. I ran around the multimeter looking for any unexpected continuity but didn't find any.
 

robsworld78

Well-Known Member
View Badges
Joined
Feb 14, 2020
Messages
952
Reaction score
1,281
Location
Edmonton, Canada
Rating - 0%
0   0   0
Oh o, burnt finger syndrome, had that before. Great pics and looks like you're doing a great job!

Good chance if it's no longer working in the prototype the IC is likely damaged.

One thing that raises a question, in your last picture top left corner you have a ground and possibly +5v, maybe +12v, but it looks like they go nowhere? When I look at the first picture they are just straight rails up and down the board but nothing connected. On the other side of the board looks like you have a ground path but not connected to the left side ground. The ground disappearing out the top of the picture doesn't look like it's connected to the buck grounds.

That wouldn't explain why it's hot though. As it's cycling on/off it's possible it's turning on, built in protection is then shutting it down and it continues but gets hot during the process. Just a guess but as things look good probably best to try another IC first in the prototype to make sure it works then maybe with continuity meter and things powered down check that everything is connected the same. Looks good though, you'll get it. :)
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Thanks Rob. The white wire is v12 in, black is gnd in. There are tracer lines connecting the grounds in the board, similar to the GPIOs to the pi.

One thing I didn't try was isolating out the buck board to see if it's throwing the fault associated with the transistor. I'll check that out. Thank you for the nudge.

I'm out of town for the next couple of days, so I'll probably not get to touch this until next weekend.

Thanks again.

-Jason
 

robsworld78

Well-Known Member
View Badges
Joined
Feb 14, 2020
Messages
952
Reaction score
1,281
Location
Edmonton, Canada
Rating - 0%
0   0   0
Thanks Rob. The white wire is v12 in, black is gnd in. There are tracer lines connecting the grounds in the board, similar to the GPIOs to the pi.

One thing I didn't try was isolating out the buck board to see if it's throwing the fault associated with the transistor. I'll check that out. Thank you for the nudge.

I'm out of town for the next couple of days, so I'll probably not get to touch this until next weekend.

Thanks again.

-Jason
Ah that explains it, I was looking at it like a breadboard with no internal traces.
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
So I believe you are right Rob about the heat triggering an override. The transistor operates as expected for the first 20-30 seconds and then starts cycling even on the protoboard by itself. Once the new one arrives I'll give it a whirl and confirm.

And I should have mentioned the trace lines. I guess it was a test. ;)
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Woot woot. Thanks for the help and feedback! Indeed I must have damaged the IC when I put it in backwards. ☺ I got a new one and sure enough, it worked like a charm.

I now have the controller, temp and ATO sensors are working properly in a cup of water. I'm very excited. This is a new step for me.

Next up, I'm going to research for some water detection sensors to alert when there's a spill. Second is to get it into a housing and hook it up.

More to follow...
 

Attachments

  • 16391083413481822220642394135002.jpg
    16391083413481822220642394135002.jpg
    164.5 KB · Views: 25

robsworld78

Well-Known Member
View Badges
Joined
Feb 14, 2020
Messages
952
Reaction score
1,281
Location
Edmonton, Canada
Rating - 0%
0   0   0
Woot woot. Thanks for the help and feedback! Indeed I must have damaged the IC when I put it in backwards. ☺ I got a new one and sure enough, it worked like a charm.

I now have the controller, temp and ATO sensors are working properly in a cup of water. I'm very excited. This is a new step for me.

Next up, I'm going to research for some water detection sensors to alert when there's a spill. Second is to get it into a housing and hook it up.

More to follow...
That is great news, congrats. :)
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
(if TLDR, just read the bold)

Ok, I now have phase 1 up and running, where the goal was to get the basics up and running. Now I'm on the phase 2, Automation of top-off and water changes. First I'll go through what I'm thinking, then I'll list of my questions :

Description:
There's a couple of sub goals to achieve. First off, my RODI is in the garage, which is ~50 ft away. I have a crawlspace and already have 1/4" hosing running through the crawl space up into the sump. There's a RODI fresh and saltwater tote in the garage. I already have a float sensor on the fresh that triggers a 16 hr timer which holds a solenoid valve open for 16 hours. Optional1, I'll have this trigger a signal so I know it happened and when.

Currently I have a dosing pump that is pumping from the garage for ATO, which is not sensor based, but just time based (144 ml every hour). I've burned a pump every 3 months and there's no failsafes. I also used it (temporarially) to do AWC, but it takes waaay too long and is too much resistance for the pumps. This is what I'm replacing.

I want my protein skimmer to auto dump the sludge into the sewer drain line, then have an AWC happen right after (to help flush the lines). By first doing an ATO, then remove tank water for X minutes, then pump in clean saltwater until the ATO water sensor triggers.

Logic:
  • Every x hours check ATO levels and refill if needed
  • Every X days (do a water change)
    • text start notification (until I hit steady state so I can monitor)
    • Check if Salt RODI float triggered (I need to have enough saltwater and making saltwater is not automated)
    • Run ATO to setup initial conditions
    • Turn off skimmer
    • Open Protein skimmer drain valve for X seconds
    • Run AWC pump in sump for X minutes
    • Run AWC clean salt until ATO sensor, stop after X seconds if still running
    • Check if RODI saltwater float triggered. If so, send text to remix a clean salt batch
    • Turn on skimmer
  • Send completed status notification text
Hardware:
  • Protein Skimmer:
    • Drain Valve: Default closed, size based on hose size
    • Float switch and relay: turn off skimmer if sludge tank is full. Send text notification
  • RODI:
    • Freshwater tub: ATO Refill timer w/ float activation and a notification
    • Freshwater tub: Pump for ATO. Needs to be able to handle 70' resistance, ~3' vertical
      • Additional mechanical float in sump above ATO, attached to a relay to override the AWC if locked on for any reason
    • Saltwater tub: Refill notification when low. Pauses AWC if triggered, set high enough to handle 1 water change
    • Saltwater tub: Pump for AWC. Needs to be able to handle 70' resistance, ~3' vertical
      • Additional mechanical float in sump above ATO, attached to a relay to override the AWC if locked on for any reason
  • Sump:
    • Pump for AWC tank water out w/ default closed valve to prevent backwash

Reef-Pi
  • If I've counted right, I'll need 4 float signals (protein skimmer, sump above ATO, 2 RODI tubs), 2 valve controls for (unless there's a Y-valve, then only one). Conveniently I have 6 GPIO pins left (currently 17, 13, 16, 19, 20, and 21)
  • I already have enough spots on my controller to handle all the pumps turning on/off
Open Questions:
  1. What size of tubing to pump from the RODI to the tank. (note it's a 70 ft. run and I want to be able to push 10 gal, so my 3/8" hose isn't going to cut it anymore. Any thoughts?) Also, I've had problems with my airline hose getting brittle and cracking. Is there a type of hose I should use?
    1. What size of pumps for this run?
    2. I have a choice to make to run power from my controller at the tank to engage these pumps or just the signal wire, powering the pumps from in the garage on a separate relay switch setup out there. I have the wire for the first, but not the second. Thoughts on why one is a good/bad idea? I'm assuming running a 12v signal that far is problematic, so just push the 110 pump power.
  2. For the AWC tank water out, I have it going into the crawlspace and tapped into my sewage line. I'm assuming I should use a pump and not rely on a gravity feed. At the same time, I probably don't need a very big pump b/c the gravity feed is going to pull on it.
    1. I'm thinking I put a valve on it so it can't gravity feed out. I'm also going to have a Y, from the protein skimmer. Is there a 3 way valve out there that will do left/right/off instead of 2 on/off in-line valves?
  3. What's not included that I really want next or as a part of this is water sensors to get a shutdown if there's water on the floor, or in the liner the sump is in or over the rim of the tank. I need to find a solution here. I assume that they will work the same as the ATO, that it's a binary on/off w/ a macro underneath it. What sensors are people using/recommend? My intent is to get 5 of them and stack them all on the same pin as I don't really care where the water is, just shut the pumps down until I figure it out.
  4. ATO sensor placement. I have this sensor and it's working. But my question is how are most people placing these? It's not water safe (ok, who makes a product designed to literally touch water and doesn't engineer it to be water proof???). The images in the instructions are all with it facing down, so the water comes up to the sensor (feels like a 3d printed enclosure box is a good solution). Should I do this or are people tapping a hole on the side of the tank and placing it horizontally and protected from the water Thoughts.
I know it's long!!! Thanks for reading/helping.
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
I'm nearly there and need to come wrap up my reef build documentation. I now have ATO, temp monitoring and a series of float notifications. But... I can't seem to get the timers to work. I have an Auto Water Change Macro setup (basically, turn off ATO, pump 2.6 gal out, turn on ATO from saltwater reservoir, wait, turn this off and freshwater ATO back on.

However, I'm unable to get the timer to work. Below are my error logs its generating. This timer is mean to activate the macro:



TimeEmitterTypeContent
4/24/2022, 10:07:46 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:07:16 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:06:44 PMUIERROR{"error":"Failed to delete. Error: Cron ID not found for job ID:2"} | HTTP 500
4/24/2022, 10:06:38 PMUIERROR{"error":"Failed to update. Error: Cron ID not found for job ID:2"} | HTTP 500
4/24/2022, 10:06:30 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:05:23 PMUIERROR{"error":"stats for id: '7' not found"} | HTTP 404

Screenshot_20220424-221628_Chrome.jpg
 

robsworld78

Well-Known Member
View Badges
Joined
Feb 14, 2020
Messages
952
Reaction score
1,281
Location
Edmonton, Canada
Rating - 0%
0   0   0
I'm nearly there and need to come wrap up my reef build documentation. I now have ATO, temp monitoring and a series of float notifications. But... I can't seem to get the timers to work. I have an Auto Water Change Macro setup (basically, turn off ATO, pump 2.6 gal out, turn on ATO from saltwater reservoir, wait, turn this off and freshwater ATO back on.

However, I'm unable to get the timer to work. Below are my error logs its generating. This timer is mean to activate the macro:



TimeEmitterTypeContent
4/24/2022, 10:07:46 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:07:16 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:06:44 PMUIERROR{"error":"Failed to delete. Error: Cron ID not found for job ID:2"} | HTTP 500
4/24/2022, 10:06:38 PMUIERROR{"error":"Failed to update. Error: Cron ID not found for job ID:2"} | HTTP 500
4/24/2022, 10:06:30 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:05:23 PMUIERROR{"error":"stats for id: '7' not found"} | HTTP 404

Screenshot_20220424-221628_Chrome.jpg
The errors with ID not found seems like it's looking for something that's been deleted. Maybe try deleting the schedule and macro, then reload reef-pi and try adding them back. I see you also have the macro set to to turn on then off in 6 seconds, that could also be a problem. You might need to setup two macros, one for on and another for off and run two timers.
 

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,843
Reaction score
17,058
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I'm nearly there and need to come wrap up my reef build documentation. I now have ATO, temp monitoring and a series of float notifications. But... I can't seem to get the timers to work. I have an Auto Water Change Macro setup (basically, turn off ATO, pump 2.6 gal out, turn on ATO from saltwater reservoir, wait, turn this off and freshwater ATO back on.

However, I'm unable to get the timer to work. Below are my error logs its generating. This timer is mean to activate the macro:



TimeEmitterTypeContent
4/24/2022, 10:07:46 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:07:16 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:06:44 PMUIERROR{"error":"Failed to delete. Error: Cron ID not found for job ID:2"} | HTTP 500
4/24/2022, 10:06:38 PMUIERROR{"error":"Failed to update. Error: Cron ID not found for job ID:2"} | HTTP 500
4/24/2022, 10:06:30 PMUIERROR{"error":"Failed to create. Error: json: cannot unmarshal string into Go struct field Trigger.duration of type time.Duration"} | HTTP 500
4/24/2022, 10:05:23 PMUIERROR{"error":"stats for id: '7' not found"} | HTTP 404

Screenshot_20220424-221628_Chrome.jpg
the JSON struct parsing issue was a bug that i fixed in latest (5.2 ) release. Which version you are running
 
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
the JSON struct parsing issue was a bug that i fixed in latest (5.2 ) release. Which version you are running
Ahhh. I didn't realize there had been an update. THANKS! I was in 5.1. That appears to have fixed the issue and a minor bug i had found, but not reported. (And nice to have feature would be for a toast notification saying that a newer version is available)

I couldn't find where the version is reported. I don't see it on my dashboard like you said, or in admin. (See attached)

While I have you, I get this error (also in the screenshot). I think it was there before the upgrade and I'm guessing is a configuration issue. Any hints on how to fix it?


{"error":"stats for id: '7' not found"} | HTTP 404

I'm guessing '7' is the root name for an equipment or something. But I don't know which or where to dig to diagnose it. A nice to have would be after printing this would be to attempt to print it in "nice mode" using the UI naming. With that I might be able to narrow down the device that needs deleting and recreating (as a work around for whatever the root cause was).

My second piece of feedback (that may be a network issue on my side? So feel free to dismiss me ☺) is that I find the client facing browser UI often needs a refresh where the browser appears to fail to connect to reef pi on the rasp. Pi.
I'm not sure what is causing the connectivity issue. There may be an opportunity for a retry method to make it more reliable in these situations???
 

Attachments

  • Screenshot_20220425-065455_Chrome.jpg
    Screenshot_20220425-065455_Chrome.jpg
    27.2 KB · Views: 21
OP
OP
J

Jason Judd

Community Member
View Badges
Joined
Jul 8, 2018
Messages
30
Reaction score
16
Rating - 0%
0   0   0
Can anyone help me with some timer syntaxes. I read that its using cron like language. I want to run my ATO every other day. I tried */2 in the day field, but the parser validation is rejecting it as bad syntax. How should I populate the time fields to activate a macro (AWC) every other day? Do I have to set up 3 once a week timers? Or can I get it directly in one?

And Ranjib, I love Reefpi. Its become a hobby in itself interacting with it! I love it when I'm chatting with my wife, get a text that a water change is happening and tell her I'm 'busy doing a water change' while I continue to sit on the couch chatting.. Thanks!
 

High pressure shells: Do you look for signs of stress in the invertebrates in your reef tank?

  • I regularly look for signs of invertebrate stress in my reef tank.

    Votes: 31 31.3%
  • I occasionally look for signs of invertebrate stress in my reef tank.

    Votes: 25 25.3%
  • I rarely look for signs of invertebrate stress in my reef tank.

    Votes: 18 18.2%
  • I never look for signs of invertebrate stress in my reef tank.

    Votes: 25 25.3%
  • Other.

    Votes: 0 0.0%
Back
Top