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

I think you have accomplished that already, anybody can right now, build one of the "sections" very easily. The proto-board method works well for that. Once you decide to go the all-in-one route, that's when a PCB/hat/shield would be nice to compact it down to a reasonable and usable design. Heck even an all-in-one circuit "map" would help me! Some people have a talent for laying out circuits, I was hoping one of our forum mates might fall into that description.
I was just going to mention that, I am re-building one by one all my controller and updating them to 1.0, and as part of that I'll share the layout of different electronics board & wiring. I think that will be useful for others.
 
I hope reef-pi stay full modular. The project has reef in its name but can be used with freshwater aquariums as well ;)
don’t worry ; reef-pi will always be modular first :-) . It’s a software best practice
 
I wired up my ATO optical sensor on breadboard today. I am getting the opposite logic for Reef-pi than I expect. If the sensor is in the water, reef-pi turns on the switch for my ATO pump. If the sensor is out of the water, it turns off.

Reef-pi log is showing that the sensor state is "1" when the sensor is out of the water and the sensor state is "0" when the sensor is in the water. Is this the expected input?

I ended up switching the logic on the sensor.go file then recompiling reef-pi so that my ATO sensor works. It is working fine now as intended. I still think a reverse option would be very helpful for those of us with this type of sensor though!
 
I ended up switching the logic on the sensor.go file then recompiling reef-pi so that my ATO sensor works. It is working fine now as intended. I still think a reverse option would be very helpful for those of us with this type of sensor though!

In general, the ability to toggle the logic at the very least seems like allow us to use all sorts of components, and account for different behaviors of those components.
 
I ended up switching the logic on the sensor.go file then recompiling reef-pi so that my ATO sensor works. It is working fine now as intended. I still think a reverse option would be very helpful for those of us with this type of sensor though!
I’ll add this for 1.1 release . If you send a patch that will be awesome too, I can do the react plumbing ..
 
Evening Chaps,
Been looking for a aquarium controller and came across this and the reef-pi.com website.
I've had a spare pi3 kicking about and ordered the PCA9685 and a 4 channel SSR. I have limited experience with electronics and programming but have followed the guide on the website but find that nothing works, no control from the PCA9685 channels although it shows as connected and the pi can see it same goes for the SSR none of the outputs will change the relay state but it may be a parameter issue if the pi hasn't been told if its high or low.
I have tried looking through this thread but there's so much on here from different versions its a little difficult to follow.
I've got version 1.0 installed on pi and would like to get the 0-10v working for my kessil A360W and the ATO as currently just have a float switch with a relay and peristaltic pump as had a couple kicking about from a previous auto water changer I made using an Arduino Uno a couple years ago.
If you guys could give a little help in getting things running would be much appreciated as i'm a little stumped.

The other bit I had spotted is the diagrams on the website, I may be wrong but the lighting controller fritzing doesn't look right with the layout of the power connectors polarity being backwards which would put 12v on the ground line of the pi, and the headphone jack for the kessil output looks to be in the wrong order as it currently shows Ch1 - Ring, Ch2 - Sleeve, Gnd - Tip just want to check if I've spotted something or if the diagrams are right?
 
Last edited:
Hi guys,

I just want to share the latest progress on my tanganyika reef-pi powered lighting project!
I got some awesome aluminium bars to stick the stripes onto and cover it with some clear acrylic glas. I LOVE IT!

Next step is adding 1 RGB stripe or maybe 1 red and 1 blue stripe per bar. And I need a housing for the PSU and all the electronics.

Once again Ranjib, thank you very much! Your work is super awesome and it’s so much fun working with your software and configuring the corresponding hardware.
9FC31C9D-22A4-4ABF-BF6F-78C1F11F012B.jpeg 39550C41-7607-4D76-804D-C9740E96FE62.jpeg F0FC44D9-FADE-41EB-A4CC-ED0E88DD1CBF.jpeg 2F96725A-D609-4DED-812F-5B8B98F5BB43.jpeg
 
Evening Chaps,
Been looking for a aquarium controller and came across this and the reef-pi.com website.
I've had a spare pi3 kicking about and ordered the PCA9685 and a 4 channel SSR. I have limited experience with electronics and programming but have followed the guide on the website but find that nothing works, no control from the PCA9685 channels although it shows as connected and the pi can see it same goes for the SSR none of the outputs will change the relay state but it may be a parameter issue if the pi hasn't been told if its high or low.
I have tried looking through this thread but there's so much on here from different versions its a little difficult to follow.
I've got version 1.0 installed on pi and would like to get the 0-10v working for my kessil A360W and the ATO as currently just have a float switch with a relay and peristaltic pump as had a couple kicking about from a previous auto water changer I made using an Arduino Uno a couple years ago.
If you guys could give a little help in getting things running would be much appreciated as i'm a little stumped.

The other bit I had spotted is the diagrams on the website, I may be wrong but the lighting controller fritzing doesn't look right with the layout of the power connectors polarity being backwards which would put 12v on the ground line of the pi, and the headphone jack for the kessil output looks to be in the wrong order as it currently shows Ch1 - Ring, Ch2 - Sleeve, Gnd - Tip just want to check if I've spotted something or if the diagrams are right?
Sorry for the trouble Sam.
Before anything, thank you for trying out reef-pi. Its a DIY project, hence error makes it way through various user driven processes, and the sub-optimal documentation does not help either. Lets do some diagnostics first,
1) Can you share an image pic of your setup, particularly the wiring.
2) Can you share some details about reef-pi configs, a screen shot of Configuration -> Settings UI will help as well. Check dev_mode is disabled
3) If possible , can you share the log while you do some operations in the UI ?
4) Here is the generic troubleshooting guide, check if its of any use: https://reef-pi.github.io/additional-documentation/troubleshooting/


I'll cross check the lighting controller diagram once im home. As I mentioned, the documentation still needs some polishing, and some of it may be not correct.
 
Hi guys,

I just want to share the latest progress on my tanganyika reef-pi powered lighting project!
I got some awesome aluminium bars to stick the stripes onto and cover it with some clear acrylic glas. I LOVE IT!

Next step is adding 1 RGB stripe or maybe 1 red and 1 blue stripe per bar. And I need a housing for the PSU and all the electronics.

Once again Ranjib, thank you very much! Your work is super awesome and it’s so much fun working with your software and configuring the corresponding hardware.
9FC31C9D-22A4-4ABF-BF6F-78C1F11F012B.jpeg 39550C41-7607-4D76-804D-C9740E96FE62.jpeg F0FC44D9-FADE-41EB-A4CC-ED0E88DD1CBF.jpeg 2F96725A-D609-4DED-812F-5B8B98F5BB43.jpeg
This is super sweet :-) .
you made my week
 
Sorry for the trouble Sam.
Before anything, thank you for trying out reef-pi. Its a DIY project, hence error makes it way through various user driven processes, and the sub-optimal documentation does not help either. Lets do some diagnostics first,
1) Can you share an image pic of your setup, particularly the wiring.
2) Can you share some details about reef-pi configs, a screen shot of Configuration -> Settings UI will help as well. Check dev_mode is disabled
3) If possible , can you share the log while you do some operations in the UI ?
4) Here is the generic troubleshooting guide, check if its of any use: https://reef-pi.github.io/additional-documentation/troubleshooting/


I'll cross check the lighting controller diagram once im home. As I mentioned, the documentation still needs some polishing, and some of it may be not correct.

Thanks Ranjib for the quick reply.
No trouble, joys of diy there’s always teething issues it may well be something I’ve done or not done. I appreciate that updating everything takes time and guides aren’t always up with the latest versions always useful to have active threads with the developer or more knowledge people to help.

I’m literally about to jump in bed as in the UK but will post up info in the morning I’ve wired the circuitry different to the fritzing diagrams as I mentioned in previous and have my own fritzing layouts for how I’ve wired it so can upload that too incase my wiring is difficult to follow as I’ve used just white wire so kinda hard to see from a pic where everything’s going.

I love the idea of this project as have wanted to build my own controller but with what you’ve done it would be better to possibly learn and maybe in time contribute to the project in some way as want to learn to code and the electronics more as always found it interesting but when I was at school electronics was dropped as a subject which sucked, I’ve ended up vaguely teaching myself a little.
 
Evening Chaps,
Been looking for a aquarium controller and came across this and the reef-pi.com website.
I've had a spare pi3 kicking about and ordered the PCA9685 and a 4 channel SSR. I have limited experience with electronics and programming but have followed the guide on the website but find that nothing works, no control from the PCA9685 channels although it shows as connected and the pi can see it same goes for the SSR none of the outputs will change the relay state but it may be a parameter issue if the pi hasn't been told if its high or low.
I have tried looking through this thread but there's so much on here from different versions its a little difficult to follow.
I've got version 1.0 installed on pi and would like to get the 0-10v working for my kessil A360W and the ATO as currently just have a float switch with a relay and peristaltic pump as had a couple kicking about from a previous auto water changer I made using an Arduino Uno a couple years ago.
If you guys could give a little help in getting things running would be much appreciated as i'm a little stumped.

The other bit I had spotted is the diagrams on the website, I may be wrong but the lighting controller fritzing doesn't look right with the layout of the power connectors polarity being backwards which would put 12v on the ground line of the pi, and the headphone jack for the kessil output looks to be in the wrong order as it currently shows Ch1 - Ring, Ch2 - Sleeve, Gnd - Tip just want to check if I've spotted something or if the diagrams are right?


I used this diagram I found on the internet to wire the audio sockets and it all worked fine. Remember to set reef-pi to "reverse" in the "lighting" tab.

Kessil Wiring.png
 
I used this diagram I found on the internet to wire the audio sockets and it all worked fine. Remember to set reef-pi to "reverse" in the "lighting" tab.

Kessil Wiring.png
That’s the same picture I found which led me to think the schematic might be a little off and I’ve followed this picture in terms of connections.
 
2C31FE6E-B2B8-4501-A562-5928D3FE96CF.jpeg A57AF95A-B094-4B40-AFE3-D5E9BB52C4B0.jpeg A4A39CD2-321C-4CF3-B837-D32CFD23ABE5.jpeg C56E8940-31FB-4AC8-BA72-38DE2DA0AC32.jpeg 36BCFA1A-2528-4C52-8A57-C76B8F7F0E65.jpeg

Morning all.
This is how I’ve got mine connected. I do now have a low pass filter on the output as wasn’t sure if he Kessil would work with just the 0-10v PWM so out that in place but still had no joy.
The Kessil comes on and just stays on no matter the slider positions.

I’ll upload the code screenshots in a bit as heading out to work for an hour.
 
2C31FE6E-B2B8-4501-A562-5928D3FE96CF.jpeg A57AF95A-B094-4B40-AFE3-D5E9BB52C4B0.jpeg A4A39CD2-321C-4CF3-B837-D32CFD23ABE5.jpeg C56E8940-31FB-4AC8-BA72-38DE2DA0AC32.jpeg 36BCFA1A-2528-4C52-8A57-C76B8F7F0E65.jpeg

Morning all.
This is how I’ve got mine connected. I do now have a low pass filter on the output as wasn’t sure if he Kessil would work with just the 0-10v PWM so out that in place but still had no joy.
The Kessil comes on and just stays on no matter the slider positions.

I’ll upload the code screenshots in a bit as heading out to work for an hour.
You dont need the LPF circuit for kessil to work. It works straight 10V PWM. I can attest that. PWM circuit looks ok to me. If possible share the reef-pi log (ssh into Pi and run sudo journalctl -fu reef-pi.service), and change the PWM value in the slider. if the logs are good, then something is wrong with the circuit, if you have multimeter use it to probe the pwm output circuit first. PCA9685 should show 0-> 5 voltage as you change the slider and hit update (it won't change unless you hit update), reef-pi log should correlate same data at the same time. I will be easier to troubleshoot if you start with the simplest circuit first (just Pi + PCA9685) and then verify its working, then add the next pieces of circuit .. so on.

Start with checking log first though, we want ensure that reef-pi is able to send those values to pca9685 board via I2C, some time thats broken due to wrong wiring or i2c not being enabled (run raspi-config), but generally that results in lighting driver being disabled (since pca9685 board is not functional) and the corresponding API will be disabled (i.e. reef-pi web ui will show failures).
 
@Sam Rowe you are right, the lighting breadboard diagram is wrong, I had messed up the 12 v power supply polarity as well as the audio jack wiring. Thank you for pointing it out. I think someone else had already pointed out another wiring mistake in the docs, I cant recall if this is the same one or a different one, I'll cross check all of them over the weekend.
I am new to fritzing, and the fact that physical connectors (like the panel mount female audio jacks) are relatively easy to wire up than these circuits in fritzing :0/ . The long ground pin of female audio connectors always make it easy to remember which wire to solder where. Other than that I always use multimeter and continuity and voltage checks, which is why the actual builds never had these issues
None the less, I have updated the lighting controller digram and assoicated fritzing project file. If you get some free time, please review it,

thanks again.
https://reef-pi.github.io/build-guides/lighting/

Keep us posted on your build progress, I am confident it will work out after some initial hiccups :-)
 
2C31FE6E-B2B8-4501-A562-5928D3FE96CF.jpeg A57AF95A-B094-4B40-AFE3-D5E9BB52C4B0.jpeg A4A39CD2-321C-4CF3-B837-D32CFD23ABE5.jpeg C56E8940-31FB-4AC8-BA72-38DE2DA0AC32.jpeg 36BCFA1A-2528-4C52-8A57-C76B8F7F0E65.jpeg

Morning all.
This is how I’ve got mine connected. I do now have a low pass filter on the output as wasn’t sure if he Kessil would work with just the 0-10v PWM so out that in place but still had no joy.
The Kessil comes on and just stays on no matter the slider positions.

I’ll upload the code screenshots in a bit as heading out to work for an hour.
@Sam Rowe good to have another reef-pi user testing everything out.
Ranjib covered most of the lighting testing, so I wont respond to that.
However, for the relay it looks as though you are missing the +VDC (cant tell in the image if it needs 5V or 12V) and the GND.
In its current configuration you are applying the control signal to the base of BJT, but without power on the circuit itself there is nothing to power the relay "coil" (no coil though since it is SSR).
Keep in mind the current limitation of the SSRs that you are using.
 
@Sam Rowe good to have another reef-pi user testing everything out.
Ranjib covered most of the lighting testing, so I wont respond to that.
However, for the relay it looks as though you are missing the +VDC (cant tell in the image if it needs 5V or 12V) and the GND.
In its current configuration you are applying the control signal to the base of BJT, but without power on the circuit itself there is nothing to power the relay "coil" (no coil though since it is SSR).
Keep in mind the current limitation of the SSRs that you are using.

Thanks for the reply Ryan, Ive got all terminals connected DC+, DC-, CH1-4 it is a low level trigger which is why I thought it may be a pull up issue for the GPIO pins used as I know its similar to Arduino that pins can be specified as low, high or nothing.
If I put one of the pins to ground it will trigger the corresponding relay so the board its self works I may just be missing something to get the trigger working properly.
Oddly just firing it up and now is working, I have gone into raspi-config and turned on SPI and i2C as although I specified them to be on with the text file on the boot sector for some reason it hadn't activated them not sure if that would affect the relay as surely just standard GPIO?
 
You dont need the LPF circuit for kessil to work. It works straight 10V PWM. I can attest that. PWM circuit looks ok to me. If possible share the reef-pi log (ssh into Pi and run sudo journalctl -fu reef-pi.service), and change the PWM value in the slider. if the logs are good, then something is wrong with the circuit, if you have multimeter use it to probe the pwm output circuit first. PCA9685 should show 0-> 5 voltage as you change the slider and hit update (it won't change unless you hit update), reef-pi log should correlate same data at the same time. I will be easier to troubleshoot if you start with the simplest circuit first (just Pi + PCA9685) and then verify its working, then add the next pieces of circuit .. so on.

Start with checking log first though, we want ensure that reef-pi is able to send those values to pca9685 board via I2C, some time thats broken due to wrong wiring or i2c not being enabled (run raspi-config), but generally that results in lighting driver being disabled (since pca9685 board is not functional) and the corresponding API will be disabled (i.e. reef-pi web ui will show failures).

Fired up the Reef-Pi earlier and checked the SPI and i2C settings in raspi-config and they wern't turned on even with putting it as true on the boot sectors config file before installing reef-pi.
As soon as it was activated it works. I have just put two LEDs on the PWM output as the setup is in my office at the moment while I was troubleshooting it and will be moving it to the tank shortly to check properly.
Built some doors for the tanks cabinet yesterday and when I have the Reef-pi doing all I want it to do I will be looking at installing it fully including recessing a Raspberry pi display into one of the doors.

@Sam Rowe you are right, the lighting breadboard diagram is wrong, I had messed up the 12 v power supply polarity as well as the audio jack wiring. Thank you for pointing it out. I think someone else had already pointed out another wiring mistake in the docs, I cant recall if this is the same one or a different one, I'll cross check all of them over the weekend.
I am new to fritzing, and the fact that physical connectors (like the panel mount female audio jacks) are relatively easy to wire up than these circuits in fritzing :0/ . The long ground pin of female audio connectors always make it easy to remember which wire to solder where. Other than that I always use multimeter and continuity and voltage checks, which is why the actual builds never had these issues
None the less, I have updated the lighting controller digram and assoicated fritzing project file. If you get some free time, please review it,

thanks again.
https://reef-pi.github.io/build-guides/lighting/

Keep us posted on your build progress, I am confident it will work out after some initial hiccups :)

No problem, I've used fritzing before when doing my Auto water changer a few years ago as mentioned earlier. I'm happy to help find some errors within my current ability to help keep the online guides and diagrams will happily upload properly the fritzing files if they're any use to the guides sections for following on a Pi 3.
 
I have got a PCB layout for the kessil light controller which I will be making later as when installing on the tank I want to do a clear acrylic enclosure on the back of the door so its all visible inside. If anyone wants the file I can either upload it here or put a link to it on my server at home.
 

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