reef-pi :: An opensource reef tank controller based on Raspberry Pi.

OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
i dont know if its a probe issue. could be rtc battery related. does a single probe works without rtc? i'll be very surprised if the pico board goes bad, i dont see any reason for that
 

attiland

2500 Club Member
View Badges
Joined
Jul 22, 2020
Messages
2,594
Reaction score
4,802
Location
United Kingdom
Rating - 0%
0   0   0
i dont know if its a probe issue. could be rtc battery related. does a single probe works without rtc? i'll be very surprised if the pico board goes bad, i dont see any reason for that
Without really knowing the reason I would bet to your power supply. Bad ones can cause strange behaviour.
 

dmolavi

Well-Known Member
View Badges
Joined
Jan 3, 2015
Messages
509
Reaction score
646
Location
United States
Rating - 0%
0   0   0
I have a build thread. This has been running for nearly 2 years. I will be debugging the pico board later this week, as well as checking the sensors. Since it's one wire and they share a connector, if one sensor craps out, its possible it can corrupt the reading on the other.
 

dmolavi

Well-Known Member
View Badges
Joined
Jan 3, 2015
Messages
509
Reaction score
646
Location
United States
Rating - 0%
0   0   0
I think I found the problem. A quick exchange with @theatrus had me thinking...If one of the probes shorted out, the way I have them connected, it would cause both to have bad readings. I unplugged my probe that is in my tank and the reading for the ambient air probe returned to normal. My guess is the probe finally gave up the ghost, and since I don't have any kind of protection for shorts on my daughtercard I use to connect them to the 1-wire interface, it is causing bad readings on the other probe. I'll be replacing the probe, and plopping a diode or two on the daughtercard, shortly.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
Is there somewhere detials one how the OneShot works or what it does?
its somewhere in r2r threads, and not in official documentation (any help welcome).
A onshot controller run once and strops, after the triggering condition. It is useful in macros, auto water changer etc, for steps like.. run this pump till the water hits float switch level and then stops.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,848
Reaction score
17,081
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
In reef-pi code, the reef-pi central controller aka daemon runs individual subsystems (also called as modules). Each subsystem hold similar types of entities, also called as controller. Each controller implements an execute look which can be Run (perpetually, based on a sensor value and control equipment etc), or oneshot, i.e. the controller will execute only once.
reef-pi (daemon)
- Subsystem[ATO]
- Subsystem[DisplayTank ATO]
- Subsystem[FragTank ATO]
- Subsystem[WC Fill ATO]
- Execute
- Check for triggering condition after every check interval
- Control equipment or other reef-pi features while honoring hysteresis or any alerting rules
- Module[Temperature]
- Module[pH]

The macro subsystem, allows sequntial execution of individual controllers (run on one-shot) and subsystems. The sensor check part is delegated at controller level. reef-pi allows reusing sensors and equipment across controllers. Collectively this model should allow us doing complex workflows, without scripting requirements, but we have to test these things and think through the consequences. Like power tools, there is always a chance of mishaps.
 

dmolavi

Well-Known Member
View Badges
Joined
Jan 3, 2015
Messages
509
Reaction score
646
Location
United States
Rating - 0%
0   0   0
I think I found the problem. A quick exchange with @theatrus had me thinking...If one of the probes shorted out, the way I have them connected, it would cause both to have bad readings. I unplugged my probe that is in my tank and the reading for the ambient air probe returned to normal. My guess is the probe finally gave up the ghost, and since I don't have any kind of protection for shorts on my daughtercard I use to connect them to the 1-wire interface, it is causing bad readings on the other probe. I'll be replacing the probe, and plopping a diode or two on the daughtercard, shortly.
Went home last night and checked the probe. Instead of ~0.5/0.6V across the leads to ground, one is open, and the other is 0.5V. I'm going to open up the jacketing tonight where I soldered it to my connector and make sure nothing has broken, but I have new probes coming just in case.
 

dmolavi

Well-Known Member
View Badges
Joined
Jan 3, 2015
Messages
509
Reaction score
646
Location
United States
Rating - 0%
0   0   0
Found the problem with the probe haha. Where can I get heat shrink tubing that is thermally conductive? (For my new probes)
 

Attachments

  • 20210408_103213.jpg
    20210408_103213.jpg
    127.8 KB · Views: 71

elysics

Valuable Member
View Badges
Joined
Jan 15, 2020
Messages
1,591
Reaction score
1,590
Rating - 0%
0   0   0
Found the problem with the probe haha. Where can I get heat shrink tubing that is thermally conductive? (For my new probes)
Don't worry too much about thermal conductivity, it doesn't really matter if you see a 0.1 degree change now or in 3 minutes. I use aquarium silicone, which is rather isolating thermally, and it's fine, if i put it from 19° air into a 25° bucket of saltwater, it takes maybe a minute, 2 at most, until the sensor shows 25. And if i open a window for fresh air for 5 minutes, it picks up the change in air temperature no problem.

I'd definitely value reef safe materials vs unknown plastics and plasticizers higher than having the sensor be faster by a few seconds
 
Last edited:

trackerit

Community Member
View Badges
Joined
Apr 11, 2019
Messages
71
Reaction score
137
Rating - 0%
0   0   0
I've been away for a few years but I'm back, I have a version of blueacro that I just saw is no longer available, does the latest version of reef-pi still support the ph module of this board? Is the calibration visual or is it still with the json file?
 

AbjectMaelstroM

Valuable Member
View Badges
Joined
Jul 21, 2019
Messages
1,530
Reaction score
1,811
Location
RVA
Rating - 100%
1   0   0
I've been away for a few years but I'm back, I have a version of blueacro that I just saw is no longer available, does the latest version of reef-pi still support the ph module of this board? Is the calibration visual or is it still with the json file?
If it worked with the old reefpi it should work with the current version as I don't believe they removed any previously supported PH boards. Ph calibration has a GUI.
 

Lady of Babylon

Community Member
View Badges
Joined
Jan 27, 2021
Messages
99
Reaction score
119
Location
dublin/ east bay
Rating - 0%
0   0   0
Omg, you just made my life! *swoon!* so doing this ASAP

Welcome to the development thread of reef-pi, an open-source, affordable, modular DIY reef-tank controller based on Raspberry Pi.

aio.jpg

If you are trying to build a reef-pi controller, please check out the build guides linked below. You can use this thread to seek help and to stay updated with the latest development.

Screen Shot 2018-11-04 at 8.38.50 PM.png



reef-pi provides following functionalities:
  • Equipment control or automated power strip (including digital timers to switch on/off equipment at periodic intervals)
  • LED light control (24 hour cycle), diurnal cycle, fixed dimmig
  • Auto Top Off (based on photoelectric water level sensor or float switch)
  • Temperature monitoring and control (switch on/off heater & chiller)
  • pH monitoring
  • Dosing automation
  • Macro (feed mode etc)
  • And several other features like camera controls (periodic image capture and upload on google drive), telemetry (dashboard and alerting based on sensor values using adafruit.io), mobile friendly UI etc.
A beginner friendly list of reef-pi build guides are available on adafruit.io, if you are planning to build a reef-pi controller start with them.
  1. Setup and installation
  2. Power controller
  3. Temperature controller
  4. Auto Top Off
  5. Light controller
  6. pH monitor
Since reef-pi is modular and customizable, the cost of individual builds varies. In our experience reef-pi controller are almost always cheaper than the commercial alternatives and costs anywhere between 100 to 550 USD. An example bill of materials can be found here as amazon list. If you are building a reef-pi controller, I highly encorage you start a build thread and tag it with #reefpi to seek help with your build


--------------------------- Original thread start ---------------------
Hello friends,
I am starting a master thread for a DIY reef tank controller that is based on all opensource software and hardware. I had started with this project with following goals:
- Build an opensource software and hardware based reeftank controller that anyone can use and hack
- Keep the controller well tested against a set of standard equipment I use, while make it possible for other equipment to be used
- Maintain my own tank build threads and their evolution, backed by this controller.
- Learn electronics and reef keeping along the way (I am biologist by education & software engineer by occupation)

Following are the details of what I have developed & tested till now:
Controller software:
- The main controller software is called reef-pi. It is written in go, its fast and performant. It used embd for hardware communication. It also runs a little web server which provides the UI for the controller. UI is written in React , and can be accessed from anything that has web browser. As of now, the reef-pi supports following things:
- AC 110/220 V socket on/off (uses optocoupled relays underneath). This is used to remotely switch on/off return pump, LED bulb, heater etc.
- 0-20 Volt DC PWM. This is used to control things like dimmable LEDs, DC pumps. I use it to control my Kessil A80, A360. As well as a 5V DC pump (i use it as wave maker in one of my pico with SPS). PWM is done using PCA9685 breakout board from adafruit. This board supports 16 channels. I am using only 5 at max, as of now.
- Analog sensor support using MCP3008 analog to digital converter. This supports 8 channels. i.e. I can use up to 8 sensors/probes. As of now, I have only tested temperature sensor with it.
Other than the following basic hardware/equipment support, the controller software provides following additional features:
- Setting up daily/weekly/monthly scheduled jobs. Like turning on/off certain equipment. I use this feature to run my AC20 HOB filter nightly.
- Setting up dusk-to-dawn like lighting using PWM. The UI gives 12 vertical slider based 0-24 hours (each slider representing 2 hours gaps). I combine two of these two control the kessil LEDs.
- Authentication using Google OAuth. Since the whole controller runs on raspberry pi and provides an web frontend, security of one of my concern. To mitigate this, I have added google authentication support, which when configured will allow only certain users to log in (email specified in the configuration value).

This is the summary of the core controller software and what features it has as of now. I am constantly writing/improving things around it. As of now, I have two reef tank powered by this. I 'll have seperate threads on the individual builds that will include the housing and ancillary hardware in nano-reef.com, as my tank build threads are there, but I'll share all the controller specific common bits here, including UI screen shots, and tank pics :)

20161115_081550.jpg
 

elysics

Valuable Member
View Badges
Joined
Jan 15, 2020
Messages
1,591
Reaction score
1,590
Rating - 0%
0   0   0
Is there a way to change the date formats for graphs? For me, the x axis labels are almost unreadable because they contain 2 or 3 points covering the whole axis with the full timestamp, day, 3 letter month, year, and time. On the 24 hour graphs, hours alone would suffice, and be much more readable, the pop-ups for individual data points have the full timestamp anyway. For the historical graphs maybe only month and day as axis labels, or only month even

Maybe a dynamic switch between different label ranges depending on the time span of the graph for a really fancy solution
 
Last edited:

Kurtzisa

Community Member
View Badges
Joined
Mar 21, 2020
Messages
79
Reaction score
70
Location
Parma, Italy
Rating - 0%
0   0   0
@Ranjib
Error in a ph calibration?
maybe i have a problem in my ph probe, but, when i calibrate it, the program says "mid value" and "second value". There is any difference if "mid value" is > "second value" or "mid value" < "second value" because it seems that if the "second value" is less than the "mid value" the real value is not correct.
i made ax example, yesterday i calibrate my ph probe in my tank,
"mid value" = 7
"second value" = 4
now in my tank, the ph is 6.4! if i put the probe in the 7 calibration liquid and i read 7 (+- 0.1 decimals) the same in the 4 calibration liquid.
fortunately, with the liquid test, the ph is 8. (or everything in my tank are dead).
today i'll try with
"mid value" = 4
" second value" = 7

(i tried to read the program on github, but is very difficult without comment :( )
 
Back
Top