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

I was looking through the adafruit tutorials and noticed that you need more than one raspberry pi for the whole build.
No this isn’t right. Each of the tutorials are written as a stand alone. But the modules can easily be combined to a single build and raspberry pi. If I were you I would look at the build threads listed on the adafruit site. Many of these follow the day by day build of a system and show the complex parts of the build. I would also really look into the Michael lane hat or the robo tank parts. You don’t lose any flexibility and save a ton of time soldering.
I knew very little when I started but started with the simple steps until I understood the overall plan.
 
The wires that come off the motor controller are either positive or negative depending on which direction you want the motor to spin (configurable in reefpi) you just have to supply the controller breakout board with the appropriate voltage source. In my case I think I am using 12 volts.

Vmotor gets the voltage source for the motors, vcc is the logic voltage (3-5v), PWM A and B are the PWM sorce, Ain and Bin are your gpio inputs, and motor a and b go direct to the motors.


Since I'm not using ReefPi to directly control my outlets (I have a DLI strip), would the 12V for Vmotor come from the Jebao's wall wart?
 
Since I'm not using ReefPi to directly control my outlets (I have a DLI strip), would the 12V for Vmotor come from the Jebao's wall wart?
You could. It will take any independent DC power source 4.5-13.5v to drive motors. The jeabo ones take 12 volts.
E3FFF74A-FE8B-4540-AD9D-7E5014B7E633.jpeg

You can see the gist of how it’s wired in the above diagram. You need 1 PWM per doser and 2 GPIO inputs per motor for bi directional. It’s exactly the same as ranjibs guide I just prefer the tb6612 over the L293D. Wiring is the same though. In my current build I have a PCA9685 that handles all the PWM and GPIO to two motor controllers. I use a CAT5 cable to get the 8 power wires to 4 doser motors.

 
Hi all, got an issue with my pH probe setup I'm hoping someone can help with.

Right now when I add a new pH driver, input, and probe (all newly created to be safe), I get the following error when I activate or try to calibrate the probe:

{"error":"write /dev/i2c-1: remote I/O error"} | HTTP 404

I have a vague idea from my coding background of what might be causing this, but I want to see if anyone has experience fixing this before I blow up my .db and settings (because it's a pain to re-build all of that).

For further context, my first attempt to fix this involved manually tweaking the drivers in the .db file (via the terminal download to json/update commands), so it's very possible that my db file has something weird going on based on that manual update.

Happy to provide more info as needed, I'm just a little out of my depth on this one. Thanks in advance!
 
Hi all, got an issue with my pH probe setup I'm hoping someone can help with.

Right now when I add a new pH driver, input, and probe (all newly created to be safe), I get the following error when I activate or try to calibrate the probe:



I have a vague idea from my coding background of what might be causing this, but I want to see if anyone has experience fixing this before I blow up my .db and settings (because it's a pain to re-build all of that).

For further context, my first attempt to fix this involved manually tweaking the drivers in the .db file (via the terminal download to json/update commands), so it's very possible that my db file has something weird going on based on that manual update.

Happy to provide more info as needed, I'm just a little out of my depth on this one. Thanks in advance!
Do you have any other i2c devices running? Temp probes?
 
Hi all, got an issue with my pH probe setup I'm hoping someone can help with.

Right now when I add a new pH driver, input, and probe (all newly created to be safe), I get the following error when I activate or try to calibrate the probe:



I have a vague idea from my coding background of what might be causing this, but I want to see if anyone has experience fixing this before I blow up my .db and settings (because it's a pain to re-build all of that).

For further context, my first attempt to fix this involved manually tweaking the drivers in the .db file (via the terminal download to json/update commands), so it's very possible that my db file has something weird going on based on that manual update.

Happy to provide more info as needed, I'm just a little out of my depth on this one. Thanks in advance!

Do you have any other i2c devices running? Temp probes?
Wait ph shouldn’t be i2c. It’s an analog input. I’m confused by your error.

edit: this is wrong the probe is analog but the communication from the ph adapter to pi is over i2c.

which ph adaptor are you using?
 
Last edited:
Wait ph shouldn’t be i2c. It’s an analog input. I’m confused by your error.

which ph adaptor are you using?
I'm using the BRS 2 part probe and the robo-tank circuit, but I agree that the error is confusing.

The confusion is what led me here, because I'm out of ideas that aren't "blow up the db and rebuild".
 
I was looking through the adafruit tutorials and noticed that you need more than one raspberry pi for the whole build.
I just realized you said adafruit tutorials.

try the GitHub site instead. This is where the links for build threads are that ranjib recommends.
 
I'm using the BRS 2 part probe and the robo-tank circuit, but I agree that the error is confusing.

The confusion is what led me here, because I'm out of ideas that aren't "blow up the db and rebuild".
I’m not familiar with the 2 part probe at BRS. I looked real quick there and didn’t see it. Is it a double junction probe. If so then it should be fine.

the robotank board is communicating to the pi through i2c. Did you do this?

6. Setup reef-pi – Pi Clock Stretching for I2C
Note: If you installed reef-pi using the install script this page can be skipped as it will have been added.
The hardware on Raspberry Pi supports clock stretching however the drivers don’t so we need to manually adjust the clock speed on the Pi so it works with all I2C devices. This is required to use the Robo-Tank pH circuit.
 
I’m not familiar with the 2 part probe at BRS. I looked real quick there and didn’t see it. Is it a double junction probe. If so then it should be fine.

the robotank board is communicating to the pi through i2c. Did you do this?

6. Setup reef-pi – Pi Clock Stretching for I2C
Note: If you installed reef-pi using the install script this page can be skipped as it will have been added.
The hardware on Raspberry Pi supports clock stretching however the drivers don’t so we need to manually adjust the clock speed on the Pi so it works with all I2C devices. This is required to use the Robo-Tank pH circuit.
Yeesh I meant double junction, yeah.

And what's weird is that the pH probe *was* working a few days ago, and then after I unplugged it and put it back together (no problems, just rearranging wires) I have these issues.

EDIT: I'm going to go do the clock setup again just to be safe.

EDIT 2: Manually setting up the i2c clock fix seems to have no effect.
 
Last edited:
Yeesh I meant double junction, yeah.

And what's weird is that the pH probe *was* working a few days ago, and then after I unplugged it and put it back together (no problems, just rearranging wires) I have these issues.

EDIT: I'm going to go do the clock setup again just to be safe.

EDIT 2: Manually setting up the i2c clock fix seems to have no effect.
@Ranjib maybe you can help me fix this manually -- is there a way to edit the drivers list if I edit the json file manually? I know it's possible to edit individual drivers with the terminal command, but is it possible to edit the entire drivers file as a json?
 
I've searched the threads coz I'm sure that I saw it somewhere... Can't find it! Can anyone help me with how I can choose which feeds are sent to AIO? AIO displays the first 10 in alphabetical order but not the feeds that I want. Sorry if this is a basic question but I'm a Noob with AIO.
 
Last edited:
I've searched the threads coz I'm sure that I saw it somewhere... Can't find it! Can anyone help me with how I can choose which feeds are sent to AIO? AIO displays the first 10 in alphabetical order but not the feeds that I want. Sorry if this is a basic question but I'm a Noob with AIO.
In my experience when you first set up your pi, setup the things with the 10 feeds you want first. Then set up everything else and the extra feeds will be ignored and can be deleted from adafruit.
 
In my experience when you first set up your pi, setup the things with the 10 feeds you want first. Then set up everything else and the extra feeds will be ignored and can be deleted from adafruit.
Good point. Thinking on it, as I probably have to reverse engineer it, I may rename the devices in RPI to have the naming convention for temp probes PH and the things that I want that will show up at the top of the AIO feeds list. I think!
 
You should buy him a beer and see what else he has. He certainly has made my life easier!
+1 he has been a pillar for this project. He is little busy right now with all things life.
 
Any reason why this sometimes happens on the dashboard?

It seems to happen completely at random when I access the dashboard. Normally it only displays 2 decimal points.

I am on Reef-pi 4.0, using a leviathan hat on this iteration, if that plays into it at all.

I don't not see this happen with my 4.0 reef-pi running a robotank hat.
1607634656175.png
 
Hi all, got an issue with my pH probe setup I'm hoping someone can help with.

Right now when I add a new pH driver, input, and probe (all newly created to be safe), I get the following error when I activate or try to calibrate the probe:



I have a vague idea from my coding background of what might be causing this, but I want to see if anyone has experience fixing this before I blow up my .db and settings (because it's a pain to re-build all of that).

For further context, my first attempt to fix this involved manually tweaking the drivers in the .db file (via the terminal download to json/update commands), so it's very possible that my db file has something weird going on based on that manual update.

Happy to provide more info as needed, I'm just a little out of my depth on this one. Thanks in advance!
what ph board you are using? This is an i2c error. If you are using ezo boards, make sure to convert them in i2c mode using atlas scientific libray, they have good docs on their site. Make sure you are using the correct decimal representation of the i2c address, reef-pi is still needs to improve on this part (making user aware of i2c hexadecimal address -> decimal conversion)
 
Any reason why this sometimes happens on the dashboard?

It seems to happen completely at random when I access the dashboard. Normally it only displays 2 decimal points.

I am on Reef-pi 4.0, using a leviathan hat on this iteration, if that plays into it at all.

I don't not see this happen with my 4.0 reef-pi running a robotank hat.
1607634656175.png
its a bug that originates from nuanced handling of floating point numbers in go , we fixed a bunch places, but some still remained. Its on my plate to fix this (along with the Y axis limits)
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top