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

InactiveAcct

Well-Known Member
View Badges
Joined
Dec 2, 2019
Messages
520
Reaction score
501
Rating - 0%
0   0   0
Thanks for the insight and feedback....



Thanks this is encouraging, altho would never attempt making fine furniture :) As I'll detail below I am looking to do the most basic stuff.



Oh good - I'm very comfortable with basic wiring, using a multimeter, soldering skills, shrink sleeving. But no experience with CAD or 3D printing. Will I need a 3D printer? I have basic programming skills. Thanks for sending the diagram. How large are those boxes you show with all of the circuits?



So I'm really only looking to do some basic things: read temp, PH, Salinity, and turn on and off things like lights and pumps.

Is this something that can be kept as simple or complex as desired?

I also read somewhere someone mentioned their chip catching fire and had someone not been there could've burnt down the house (always a consideration with reef tanks) but is this a real risk?

Ideally I'd love to make something a simple as possible to:

1) Reporting of Parameters:
- Temperature
- Salinity
- PH

2) Turn on and off outlets:
- LED lights (Kessil A360) and maybe ramp up and down like I could with my apex
- pumps / powerheads on an off as needed
- Skimmer
- Heaters


If I could do that without burning down the house or my bank account I'd be thrilled!

Regarding burning down house, really recommend powering your tank via a wall outlet that is properly functioning for both GFCI and AFCI. GFCI protects you from electrocution while AFCI shuts off the circuit if it detects arcing which can lead to a fire. I think we can never fully guarantee that any device won’t burn down the house when it’s plugged in - and your reef-pi is one of those devices that isn’t UL listed. Even Terrance, the face of Neptune Systems for many years, suffered a reef tank-induced house fire and I believe there was a short list of well-established products or associated interconnects that started it. Make sure you do “burn in” testing where you run it through the paces with eyes on the hardware prior to closing up the packages, look and smell for smoke and see if any devices feel abnormally hot.

You can get by without a 3d printer using project boxes. Think my dimensions are 7L x 4.5W x 3H inches or so
 

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
156
Location
indo-pacific
Rating - 0%
0   0   0
So I'm really only looking to do some basic things: read temp, PH, Salinity, and turn on and off things like lights and pumps.

Is this something that can be kept as simple or complex as desired?

I also read somewhere someone mentioned their chip catching fire and had someone not been there could've burnt down the house (always a consideration with reef tanks) but is this a real risk?

Ideally I'd love to make something a simple as possible to:

1) Reporting of Parameters:
- Temperature
- Salinity
- PH

2) Turn on and off outlets:
- LED lights (Kessil A360) and maybe ramp up and down like I could with my apex
- pumps / powerheads on an off as needed
- Skimmer
- Heaters


If I could do that without burning down the house or my bank account I'd be thrilled!
Actually if you already have Apex- why need to switch? For these anything is good enough.

I'm switched from GHL to DIY only because I need programmable logic+ normal notifications to messangers.
And I want to use some custom hardware without struggling with integration.

About burning the house - Raspberry Zero 1/2/3 often likes to die without reason because of poor quality. Fullsize raspberry SBC or analogs are better.
And actually you dont need raspberry pi at all. You can run it on a virtual machine.
 
Last edited:

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
156
Location
indo-pacific
Rating - 0%
0   0   0
And about esp32 integration in reef-pi 6.
I don't like idea of direct Pin control over wifi.
I can easily imagine how it will kill the tank/burn the house if wifi will be disconnected.
Thats why i'm building all system on smart, standalone moduls controlled over REST API.
Reef-pi do not have such functionality to work over API, so I have to make my own realization.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
And about esp32 integration in reef-pi 6.
I don't like idea of direct Pin control over wifi.
I can easily imagine how it will kill the tank/burn the house if wifi will be disconnected.
Thats why i'm building all system on smart, standalone moduls controlled over REST API.
Reef-pi do not have such functionality to work over API, so I have to make my own realization.
What do you mean by reef-pi does not have any api ? Entire ui is powered by api, and the api also exposes lower level direct controls instead of full feedback loops
 

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
156
Location
indo-pacific
Rating - 0%
0   0   0
What do you mean by reef-pi does not have any api ? Entire ui is powered by api, and the api also exposes lower level direct controls instead of full feedback loops
All "drivers" are hardcoded, no way to add random device without updating code of reef-pi.
For example esp32 driver.
By the way, my pool request is still waiting
 

Broady2067

Active Member
View Badges
Joined
Jun 21, 2023
Messages
172
Reaction score
83
Location
Sheffield. UK
Rating - 0%
0   0   0
Just an update on this, I removed all temperature probes except for two and it has been stable. Ill try to add a probe every few days to see if I can find the culprit.

For some reason my google app password for alerts stopped working, so I generated a new password and this seems to be working again. I also created an adafruit.io account and set up alerts for extra safety.

I still need some help on how I can get my relay board to turn off my metal halide light.
I am totally lost with the e-mail alerts. I thought i had set it up correctly but apparently not. is there a link to tutorial.
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
All "drivers" are hardcoded, no way to add random device without updating code of reef-pi.
For example esp32 driver.
By the way, my pool request is still waiting
That’s is very different than saying reef-pi has no api. Drivers have specifics (like i2c protocol) that’s very different across .. hence driver types are fixed. There’s file based driver that you can use to integrate arbitrary devices
 
OP
OP
Ranjib

Ranjib

7500 Club Member
View Badges
Joined
Apr 16, 2016
Messages
9,876
Reaction score
16,680
Location
Pleasant Hill, Concord
Rating - 0%
0   0   0
I am totally lost with the e-mail alerts. I thought i had set it up correctly but apparently not. is there a link to tutorial.

Check out the alert section
 

Broady2067

Active Member
View Badges
Joined
Jun 21, 2023
Messages
172
Reaction score
83
Location
Sheffield. UK
Rating - 0%
0   0   0

Check out the alert section
Hi Ranjib. I have tried to follow this but no luck as yet.
 

yury88

Active Member
View Badges
Joined
Oct 21, 2023
Messages
209
Reaction score
156
Location
indo-pacific
Rating - 0%
0   0   0
That’s is very different than saying reef-pi has no api. Drivers have specifics (like i2c protocol) that’s very different across .. hence driver types are fixed. There’s file based driver that you can use to integrate arbitrary devices
This will require creating a service for each device on linux based platform.
Not easy for users. Easier to upgrade reef-pi code by adding universal protocol with template supported. MQTT and REST API
 

iamdan

Community Member
View Badges
Joined
Jul 1, 2022
Messages
89
Reaction score
67
Location
Western Australia
Rating - 0%
0   0   0
Hi All

Was hoping i could get some guidance / verification / sanity check that i have done things right as reading various posts and articles on the matter has got me quite confused lol.

I have setup a standard Raspberry Pi 4 with "Bullseye Lite" and the only thing connected to it is an Atlas Ph Module and Atlas Ph Isolation Board and it is wired directly to the Raspberry Pi GPIO Pins.

It is this type:
1713492252068.png

To connect the pH probe i have the connector that converts the connector on the Isolation Board to "BNC"

I have gone through the process documented by Atlas to get the pH Circuit to communicate in i2c mode fine and the Raspberry Pi with i2cdetect / reef-pi detects and communicates with the pH Circuit. Also it is connected to the 3.3v line on the Raspberry Pi.

The Isolation Board's datasheet: https://files.atlas-scientific.com/electrically-isolated-ezo-carrier-board.pdf states that it already has pull-up resistors and what not:
1713492615276.png


So my questions are:
1.
I am assuming that i don't need to connect any resistors or whatever to the lines before they connect into the GPIO pins as per some articles online to do with pH modules?

2. In my config.txt i have the following set:
dtparam=i2c_arm=on
#dtparam=i2c_arm_baudrate=10000
dtoverlay=pwm-2chan
#dtparam=i2s=on
dtparam=spi=off

Wether or not i enable or disable dtparam=i2c_arm_baudrate=10000 and reboot, I can still see the sensor by i2cdetect and in reef-pi and monitoring it over a few hour period of either having this enabled or disabled i am not registering any drops.

Atlas instructions from what i can see unless i am blind don't mention any setting of Raspberry Pi i2c baudrate so assuming leaving it disabled will be ok?

3. I understand this pH circuit can be calibrated directly outside of reef-pi however is it still ok to perform calibration inside of reef-pi using reef-pi's ui calibration tool?

Apologies for the long post, just wanted to cover all the bases in one post that i could think of, if this requires to be posted to a separate thread i am more than happy to copy it to one and delete it from here.

Daniel
 

Barclay

New Member
View Badges
Joined
Jan 9, 2014
Messages
16
Reaction score
6
Location
Potenza Italy
Rating - 0%
0   0   0
Hi all friends, I have been using a reef-pi controller for several years, I use it for ATO, dosers, temperature and low voltage electrical users.
today I wanted to use a ph probe with ASD11115 but if I try to add the driver I get this error. Can any of you help me solve this problem? If I try to add other drivers everything works correctly, thanks in advance (goo.... translate)
 

Attachments

  • Screenshot_20240421_213623.jpg
    Screenshot_20240421_213623.jpg
    60.9 KB · Views: 50

BenB

Active Member
View Badges
Joined
Jun 11, 2019
Messages
118
Reaction score
152
Rating - 0%
0   0   0
Hi Barclay, what is de adress you entered when creating the driver in reef pi? The ADS1115 default I2C Address is 0x48 (Hex). In decimal that will be 72.
 

BenB

Active Member
View Badges
Joined
Jun 11, 2019
Messages
118
Reaction score
152
Rating - 0%
0   0   0
Hi all friends, I have been using a reef-pi controller for several years, I use it for ATO, dosers, temperature and low voltage electrical users.
today I wanted to use a ph probe with ASD11115 but if I try to add the driver I get this error. Can any of you help me solve this problem? If I try to add other drivers everything works correctly, thanks in advance (goo.... translate)
Adding analog sensors with ADS1115

Michael Lane has been working on a new ADS1015/ADS1115 driver for reef-pi.

This brings new possibilities to Reef-Pi:
  • PH/Orp probes
  • Pressure sensors
  • Flow sensors
  • Etc.
Any analog sensor can be used as long as the analog signal is in between 2.0V to 5.5V.

ADS1115 16-Bit ADC - 4 Channel with Programmable Gain Amplifier

ADS1115.png


ADS1115 Features:
  • Resolution: 16 Bits
  • Programmable Sample Rate: 8 to 860 Samples/Second
  • Power Supply/Logic Levels: 2.0V to 5.5V
  • Low Current Consumption: Continuous Mode: Only 150µA Single-Shot Mode: Auto Shut-Down
  • Internal Low-Drift Voltage Reference
  • Internal Oscillator
  • Internal PGA: up to x16
  • I2C Interface: 4-Pin-Selectable Addresses
  • Four Single-Ended or 2 Differential Inputs
  • Programmable Comparator
I had an ADS1115 board so I tried if my PH probe is working. So I made a “How to guide” maybe it will be of use for others. I used a Raspberry Pi 2 Model B with Reef-Pi version 3.5.

Add driver under Configuration/Drivers
1.png


Configure the Driver:
2.png

Name: PH
Type: ads1115
Address: standard is 72
Gain: 2/3, 1, 2, 4, 8 or 16

An Adafruit tutorial has this guidance.
# Choose a gain of 1 for reading voltages from 0 to 4.09V.
# Or pick a different gain to change the range of voltages that are read:
# - 2/3 = +/-6.144V (High Gain, Sensitive to noise)
# - 1 = +/-4.096V
# - 2 = +/-2.048V
# - 4 = +/-1.024V
# - 8 = +/-0.512V
# - 16 = +/-0.256V (Low Gain, Not Sensitive to Noise)
# See table 3 in the ADS1015/ADS1115 datasheet for more info on gain.

Reboot (Configuration/Admin)

Add analog input under Configuration/Connectors
3.png


Configure the connector
4.png

Name: PHpin0
Pins: 0 (depends what pin you use on the ADS1115 board)
Driver: PH
Reload (Configuration/Admin)

Add the probe under pH
5.png


Configure the PH probe
6.png

Name: PH
Analog input: PHpin0
Check frequency: 10
Ph status: Enabled
The other settings are not mandatory.

Calibration
The first readings will be high:
7.png

Therefore you need to calibrate!

To be able to calibrate you first have to disable the Ph status
  • Edit ph.
  • Disable probe.
  • Save
  • Calibrate
  • Rinse probe in rodi
  • Place in 7 calibration fluid
  • Wait for readings to stabilize
  • Set cal value to 7 (Midpoint)
  • Push Run
  • Rinse probe
  • Put in 10 calibration fluid
  • Set cal value to 10 (Second Point)
  • Run
  • Enable probe
  • Rinse probe and check both 7 and 10 and make sure it’s close.
Enjoy!
 

TOP 10 Trending Threads

Back
Top