Widgetlords Controller - Node-Red, Raspberry Pi Controller Build

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Hello All!

Thought it would be best to separate my aquarium controller build from my tank build thread:


So, a little background before we get into specifics. I had this crazy idea during my last move to try something out of the ordinary. I wanted a small tank but I didn't want any visible overflow...and I wanted a sump for equipment. Yeah, this means the plumbing would need to go in the bottom of the tank making it the perfect recipe for disaster!

But could it work?

Ultimately, I decided there was a possibility it could work if I approached the challenge from an automation perspective (my build thread documents all the different ideas I went through before landing on one that might be possible). To minimize the potential for disaster and implement the best control possible, a PLC would be needed to maintain the fine balance this system would require. So I went to AutomationDirect.com and bought a PLC setup with a Raspberry PI 3+ to handle graphical display.

1588529010815.png


1588529219099.png


Communication between the PLC/Raspi and my lack of understanding ladder programming lead me away from the PLC to something in between. Widgetlords Electronics offers a line of Node-Red supported Raspberry Pi interface modules which are designed for the automation industry. These allowed a simple way to interface inputs/outputs/relays with a Raspberry Pi through supported Node-Red nodes.


1588529793224.png
1588529800362.png


After receiving some test boards from Widgetlords and starting development, I received an offer to transition into my companies IT organization. This required more time/travel/training than I anticipated so the project/tank sat untouched for nearly a year. Now that my wife is working from home, she has motivated me to pick this project back up. :) And since I've had nearly a year to think through, process, and research I have much more confidence in moving forward.

This thread will document my efforts to complete a controller utilizing a Raspberry Pi 4, Widgetlords interface boards, and various industry-level components.
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Before ordering all the boards for this build, I did verify the PID loop would keep levels stable utilizing these boards and the modulating ball valve. After several days of successful tests we are moving forward! The setup is messy but I was able to confirm the design idea works as expected.

1588530813078.png



1586627044640.png




1586627122406.png




1586627153865.png



1586627017234.png
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
And all the boards have arrived to put together the bones of the controller!

1588531294504.png


Although it isn't the smallest controller, there is a lot of control packed into this package. It is also expandable down the line by simply plugging in new boards. As it stand it's about 16" long, 6" wide, and 3" tall including DIN rail.

1588531361334.png


1588531384387.png


1588531403640.png


This setup includes RS485, (2) digital inputs, (6) relay outputs, (6) analog outputs, (18) analog inputs, pH probe input, orp probe input, and temp input. All with supported Node-Red nodes. Power comes through the main board (24V) and runs through all sub-boards.

1588532346535.png
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
New Raspberry Pi4 4Gb! This will be running Raspbian Buster Lite to limit unneeded packages/graphical interface. Once Node-Red is up and running all development will be done through there.

1588533444315.png


Perform headless install and setup by including "ssh" file (with no extension) on the boot partition...

1588533895883.png


And SSH into the Pi via PuTTY to complete configuration.

1588534206675.png


And we're in...

1588534256299.png


Make sure all packages are updated:

Code:
sudo apt full-upgrade

Then install Node-Red:

Code:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

1588535020778.png


Enable autostart on boot for Node-Red:

Code:
sudo systemctl enable nodered.service

Reboot Pi and verify Node-Red starts up automatically...bingo!

1588535492456.png


I also set up my wifi network and enabled I2C/SPI via raspi-config:

Code:
sudo raspi-config
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Now to install the needed packages to utilize Widgetlords interface boards. Instructions can be found here...


Download the libwidgetlords package from latest release:

Code:
wget https://github.com/widgetlords/libwidgetlords/releases/download/v2.1.0/libwidgetlords_2.1.0_armhf.deb

And install package:

Code:
sudo dpkg -i libwidgetlords_2.1.0_armhf.deb

Set appropriate overlay in /boot/config.txt:

Code:
sudo nano /boot/config.txt

1588544878092.png


And to make use of the battery-backed real time clock, follow these instructions:


That should do it for the Widgetlords library. I am not a Raspberry Pi expert so please let me know if I've made any mistakes...
 
Last edited:
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Next will be installing the additional Node-Red nodes I will use. I'm sure more will be added in time, but for now these will get me going.

node-red-contrib-i2cTo interface with Ezo boards (pH, ORP, Temp).
node-red-contrib-osTo access Pi system data (CPU, Memory, Firmware).
node-red-contrib-widgetlordsTo control Widgetlords boards (inputs/outputs/relays).
node-red-node-pidcontrolTo control modulating ball valve in relation to sensor.
node-red-node-sqliteTo manage on-board sqlite database for sensor data.
node-red-dashboardTo support graphical interface.

These can all be installed from Node-Red in "Manage Palette".


1588545863030.png


All nodes should install without issue, with the exception of node-red-contrib-i2c. This will error due to an issue with the Node.js version. To get around this error, navigate to the node_modules directory:

Code:
cd .node-red/node_modules

And install i2c-bus:

Code:
npm install i2c-bus

Navigate back to ~/.node-red:

Code:
cd .node-red

And install node-red-contrib-i2c directly from NPM:

Code:
npm install --unsafe-perm https://github.com/nielsnl68/node-red-contrib-i2c
 
Last edited:
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Quick and dirty system stats. I'll clean this up later.

1588562302833.png


1588562281728.png


Flow:

JSON:
[{"id":"30e1932b.805ebc","type":"tab","label":"System","disabled":false,"info":""},{"id":"363ec698.dc3bda","type":"ui_gauge","z":"30e1932b.805ebc","name":"","group":"804b079.3253bf8","order":2,"width":"3","height":"2","gtype":"gage","title":"CPU Temp","label":"°C","format":"{{ msg.payload }}","min":0,"max":"100","colors":["#0080ff","#ffffff","#ca3838"],"seg1":"70","seg2":"85","x":990,"y":440,"wires":[]},{"id":"7269b0e6.df809","type":"exec","z":"30e1932b.805ebc","command":"/opt/vc/bin/vcgencmd measure_temp | egrep -o \"[0-9]+\\.[0-9]+?\"","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"read_T","x":440,"y":460,"wires":[["363ec698.dc3bda","27a6d662.380eea"],[],[]]},{"id":"27a6d662.380eea","type":"ui_chart","z":"30e1932b.805ebc","name":"","group":"804b079.3253bf8","order":4,"width":"0","height":"0","label":"Temperature, °C","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":1000,"y":480,"wires":[[]]},{"id":"802eeedf.dcd39","type":"exec","z":"30e1932b.805ebc","command":"df -m | grep root","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"read_sd_usage","x":460,"y":380,"wires":[["499b8003.dd6e6"],[],[]]},{"id":"499b8003.dd6e6","type":"function","z":"30e1932b.805ebc","name":"convert","func":"var msg1,msg2,msg3;\n\nl = msg.payload.split(/(\\s+)/).filter( function(e) { return e.trim().length > 0; } );\nmsg1 = {topic: 'Total', payload: Math.round(l[1] / 1000) + ' Gb'};\nmsg2 = {topic: 'Free', payload: Math.round(l[3] / 1000)};\nmsg3 = {topic: 'Used%', payload: l[4].slice(0, -1)};\n\nreturn [msg1, msg2, msg3];","outputs":3,"noerr":0,"x":700,"y":380,"wires":[["e70995b8.27b958"],[],["36bf9a1f.e4b236"]]},{"id":"f6a37de0.8ab5d","type":"ui_gauge","z":"30e1932b.805ebc","name":"","group":"804b079.3253bf8","order":1,"width":"3","height":"2","gtype":"gage","title":"CPU Load","label":"%","format":"{{ msg.payload }}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"60","seg2":"80","x":990,"y":200,"wires":[]},{"id":"32958920.80cac6","type":"ui_chart","z":"30e1932b.805ebc","name":"","group":"804b079.3253bf8","order":3,"width":"0","height":"0","label":"Load, %","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#ff8000","#aec7e8","#0080ff","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":980,"y":240,"wires":[[]]},{"id":"36bf9a1f.e4b236","type":"ui_gauge","z":"30e1932b.805ebc","name":"","group":"f468b575.5f3388","order":2,"width":"6","height":"4","gtype":"donut","title":"Used","label":"%","format":"{{msg.payload}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"60","seg2":"80","x":970,"y":400,"wires":[]},{"id":"f4a20935.a58ea8","type":"OS","z":"30e1932b.805ebc","name":"","x":430,"y":80,"wires":[["c8ec924a.9c603"]]},{"id":"1978590c.f02567","type":"Drives","z":"30e1932b.805ebc","name":"","x":430,"y":120,"wires":[[]]},{"id":"12d08fff.0281c","type":"Uptime","z":"30e1932b.805ebc","name":"","x":440,"y":160,"wires":[["acfcc29b.94b53"]]},{"id":"8a52c18c.b4e4a","type":"Memory","z":"30e1932b.805ebc","name":"","x":440,"y":300,"wires":[["b2771486.0870c8"]]},{"id":"f7ed59cc.1a2378","type":"inject","z":"30e1932b.805ebc","name":"","topic":"","payload":"","payloadType":"date","repeat":"3","crontab":"","once":true,"onceDelay":"5","x":130,"y":320,"wires":[["f4a20935.a58ea8","1978590c.f02567","12d08fff.0281c","8a52c18c.b4e4a","802eeedf.dcd39","7269b0e6.df809","3288dde.2c05a22","7cf63941.c83408","663a5a7b.1b8164"]]},{"id":"c8ec924a.9c603","type":"function","z":"30e1932b.805ebc","name":"extract","func":"var msg1,msg2,msg3,msg4;\n\nmsg1 = {topic: 'hostname', payload: msg.payload.hostname};\nmsg2 = {topic: 'type', payload: msg.payload.type};\nmsg3 = {topic: 'release', payload: msg.payload.release};\n\nreturn [msg1, msg2, msg3];","outputs":3,"noerr":0,"x":690,"y":80,"wires":[["e70a8147.36f6f"],["c25bc3db.b9327"],["fc83c806.30c6e8"]],"outputLabels":["OS","Version","",""]},{"id":"e70a8147.36f6f","type":"ui_text","z":"30e1932b.805ebc","group":"36816e08.30a3e2","order":1,"width":"0","height":"0","name":"","label":"Hostename:","format":"{{msg.payload}}","layout":"row-spread","x":990,"y":40,"wires":[]},{"id":"c25bc3db.b9327","type":"ui_text","z":"30e1932b.805ebc","group":"36816e08.30a3e2","order":3,"width":"0","height":"0","name":"","label":"Type:","format":"{{msg.payload}}","layout":"row-spread","x":970,"y":80,"wires":[]},{"id":"fc83c806.30c6e8","type":"ui_text","z":"30e1932b.805ebc","group":"36816e08.30a3e2","order":5,"width":0,"height":0,"name":"","label":"Release:","format":"{{msg.payload}}","layout":"row-spread","x":980,"y":120,"wires":[]},{"id":"acfcc29b.94b53","type":"function","z":"30e1932b.805ebc","name":"convert_uptime","func":"var d = Math.floor(msg.payload.uptime / 86400);\nvar h = Math.floor((msg.payload.uptime % 86400) / 3600);\nvar m = Math.floor(((msg.payload.uptime % 86400) % 3600) / 60);\nvar s = ((msg.payload.uptime % 86400) % 3600) % 60;\nmsg.payload = d + ':' + h + ':' + m + ':' + s;\nreturn msg;","outputs":1,"noerr":0,"x":720,"y":160,"wires":[["5fd073c2.77ad2c"]]},{"id":"5fd073c2.77ad2c","type":"ui_text","z":"30e1932b.805ebc","group":"36816e08.30a3e2","order":6,"width":"0","height":"0","name":"","label":"Uptime:","format":"{{ msg.payload }}","layout":"row-spread","x":980,"y":160,"wires":[]},{"id":"b2771486.0870c8","type":"function","z":"30e1932b.805ebc","name":"extract","func":"msg.payload = Math.round(msg.payload.memusage);\nreturn msg;","outputs":1,"noerr":0,"x":690,"y":300,"wires":[["a53acdc0.2613b","c8a84320.f49da"]]},{"id":"c8a84320.f49da","type":"ui_gauge","z":"30e1932b.805ebc","name":"","group":"4b1f8e47.8c52e","order":1,"width":"0","height":"0","gtype":"gage","title":"RAM Usage","label":"%","format":"{{msg.payload}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"60","seg2":"80","x":990,"y":280,"wires":[]},{"id":"a53acdc0.2613b","type":"ui_chart","z":"30e1932b.805ebc","name":"","group":"4b1f8e47.8c52e","order":2,"width":"0","height":"0","label":"RAM","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"1","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":970,"y":320,"wires":[[]]},{"id":"e70995b8.27b958","type":"ui_text","z":"30e1932b.805ebc","group":"f468b575.5f3388","order":1,"width":0,"height":0,"name":"","label":"Total:","format":"{{msg.payload}}","layout":"row-spread","x":970,"y":360,"wires":[]},{"id":"780913b9.7b968c","type":"ui_button","z":"30e1932b.805ebc","name":"","group":"36816e08.30a3e2","order":7,"width":"0","height":"0","passthru":false,"label":"Reboot","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":100,"y":700,"wires":[["ab17c3a8.a2fd6"]]},{"id":"ab17c3a8.a2fd6","type":"exec","z":"30e1932b.805ebc","command":"sudo reboot","addpay":false,"append":"","useSpawn":"","timer":"","name":"Reboot","x":440,"y":700,"wires":[[],[],[]]},{"id":"36dc69cc.4ec486","type":"ui_button","z":"30e1932b.805ebc","name":"","group":"36816e08.30a3e2","order":8,"width":0,"height":0,"passthru":false,"label":"Shutdown","tooltip":"","color":"","bgcolor":"red","icon":"","payload":"","payloadType":"str","topic":"","x":100,"y":760,"wires":[["4024d1bc.9e459"]]},{"id":"4024d1bc.9e459","type":"exec","z":"30e1932b.805ebc","command":"sudo shutdown -h now","addpay":false,"append":"","useSpawn":"","timer":"","name":"Shutdown","x":440,"y":760,"wires":[[],[],[]]},{"id":"b4d6710b.18326","type":"ui_text","z":"30e1932b.805ebc","group":"36816e08.30a3e2","order":2,"width":"0","height":"0","name":"","label":"IP Address","format":"{{value.substring(0, value.indexOf(\" \"))}}","layout":"row-spread","x":990,"y":520,"wires":[]},{"id":"3288dde.2c05a22","type":"exec","z":"30e1932b.805ebc","command":"hostname","addpay":false,"append":"-I","useSpawn":"","timer":"","name":"Get Local IP","x":450,"y":520,"wires":[["b4d6710b.18326"],[],[]]},{"id":"7cf63941.c83408","type":"exec","z":"30e1932b.805ebc","command":"date","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":430,"y":580,"wires":[["139d5a1e.cfaf06"],[],[]]},{"id":"139d5a1e.cfaf06","type":"ui_text","z":"30e1932b.805ebc","group":"36816e08.30a3e2","order":2,"width":"0","height":"0","name":"","label":"Date:","format":"{{msg.payload}}","layout":"row-spread","x":970,"y":580,"wires":[]},{"id":"663a5a7b.1b8164","type":"exec","z":"30e1932b.805ebc","command":"top -b -n 1 | sed -n \"s/^%Cpu.*ni, \\([0-9.]*\\) .*$/\\1/p\"","addpay":false,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"CPU Load","x":450,"y":220,"wires":[["b8ce7da7.2bc47"],[],[]]},{"id":"b8ce7da7.2bc47","type":"function","z":"30e1932b.805ebc","name":"Convert","func":"var myVal = 100 - msg.payload;\nmsg.payload = Math.round(myVal);\nreturn msg;","outputs":1,"noerr":0,"x":710,"y":220,"wires":[["f6a37de0.8ab5d","32958920.80cac6"]]},{"id":"804b079.3253bf8","type":"ui_group","z":"","name":"CPU","tab":"cca45374.9220a","order":2,"disp":true,"width":"6","collapse":false},{"id":"f468b575.5f3388","type":"ui_group","z":"","name":"Storage","tab":"cca45374.9220a","order":4,"disp":true,"width":"6","collapse":false},{"id":"36816e08.30a3e2","type":"ui_group","z":"","name":"System","tab":"cca45374.9220a","order":1,"disp":true,"width":"6","collapse":false},{"id":"4b1f8e47.8c52e","type":"ui_group","z":"","name":"Memory","tab":"cca45374.9220a","order":3,"disp":true,"width":"6","collapse":false},{"id":"cca45374.9220a","type":"ui_tab","z":"","name":"System","icon":"system","order":2,"disabled":false,"hidden":false}]
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Since the purpose of a controller is to control things, this thread would only be half complete without a BOM. I'll do my best to include all the components which will interface with the controller and explain their purpose in my build.


PartModelInterfacePurposeImages
Raspberry Pi 4Raspberry Pi
4 GB Ram
Graphical interface and control of interface boards.
1588783765592.png
Main Interface BoardWidgetlords
PI-SPI-DIN-2x4MIO
Main interface board.
1588783409955.png
Analog Input ModuleWidgetlords
SDAFE
(2) Software Defined Analog InputAnalog inputs for sensors/valves.
1588783415083.png
Analog Input BoardWidgetlords
PI-SPI-DIN-8AI
(8) 0-20mA analog inputs.Analog inputs for sensors/valves.
1588783396949.png
Analog Input BoardWidgetlords
PI-SPI-DIN-8AI
(8) 0-5V analog inputs.Analog inputs for current sensors.
1588783396949.png
Relay Output BoardWidgetlords
PI-SPI-DIN-4KO
(4) Relay outputs.Relays for 110V outlets.
1588783423320.png
Analog Output BoardWidgetlords
PI-SPI-DIN-4AO
(4) Analog Outputs.Analog outputs for actuators/pump.
1588783430425.png
Tentacle T3 BoardWhitebox Labs
TEN-T3
(5) Ezo devicesProbes inputs (pH, ORP, temp).
1588783449949.png
Ezo pH CircuitAtlas Scientific
EZO-ph
pH probe.pH probe.
1588783457023.png
Ezo ORP CircuitAtlas Scientific
EZO-ORP
ORP probe.ORP probe.
1588783461732.png
Ezo RTD Temp CircuitAtlas Scientific
EZO-RTD
Temp probe.Temp probe.
1588783466686.png
ActuatorHSH Flo
TC02-T
0-20mA Input
0-20mA Output
Actuator will control 3-way ball valve for modulating flow between two returns.
1588783492079.png
ActuatorHSH Flo
TC02-T
0-10V Input
0-10V Output
Actuator will control ball valve for modulating drain.
1588783499495.png
Ultrasonic sensorAutomation Direct
UK6A-D2-0E
4-20mA InputSensor to monitor sump water level for PID control of actuator.
1588783536567.png
Dosing PumpAPT Instruments
SP100-004
12V Relay.Dosing elements.
1588783597791.png
HeaterCobalt
Neotherm
110V RelayHeating tank.
1588783714514.png
Power StripTPLink Kasa HS300WifiControl 110v devices.
1592334225491.png
Temp ProbesAtlas Scientific PT-1000BNC ConnectorMeasure temperature.
1592334283154.png
LED DriversALab Tech 5ch 48VWifiControls light fixture
1592334397258.png
 
Last edited:

FischAutoTechGarten

Community Member
View Badges
Joined
Mar 19, 2020
Messages
37
Reaction score
40
Rating - 0%
0   0   0
So, have you completely eliminated the Productivity 1000 PLC from your setup?

If so, then your setup is similar to mine, except I prefer the i2c expansion boards from NCD.
8ch relay :
MCP23008-I2CR8G5LE_1-600x400.png

4 ch A-D
MCP3428_I2CADC_A_1-600x400.png


I'll be watching your project closely. Thanks for posting details.
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
So, have you completely eliminated the Productivity 1000 PLC from your setup?

If so, then your setup is similar to mine, except I prefer the i2c expansion boards from NCD.
8ch relay :
MCP23008-I2CR8G5LE_1-600x400.png

4 ch A-D
MCP3428_I2CADC_A_1-600x400.png


I'll be watching your project closely. Thanks for posting details.
I still like the PLC idea but taking the time to develop the ladder code was a little more than I wanted to get into. Also, consolidating this project into Node-Red with plug-and-play boards makes this project easier for others to replicate.

The relays boards I chose wouldn’t be applicable for larger tank as the rating at 110V is about 60 watts. But I can’t imagine, aside from my light, any of the equipment will consume more than 60W.
 

kyleinpdx

Well-Known Member
View Badges
Joined
Jul 21, 2016
Messages
679
Reaction score
667
Location
PNW
Rating - 0%
0   0   0
I still like the PLC idea but taking the time to develop the ladder code was a little more than I wanted to get into. Also, consolidating this project into Node-Red with plug-and-play boards makes this project easier for others to replicate.

The relays boards I chose wouldn’t be applicable for larger tank as the rating at 110V is about 60 watts. But I can’t imagine, aside from my light, any of the equipment will consume more than 60W.

Out of curiosity, with that wattage restriction, how are you handling temp control? Or are you using a heater smaller than the 60w of headroom you've got?
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Out of curiosity, with that wattage restriction, how are you handling temp control? Or are you using a heater smaller than the 60w of headroom you've got?
I'll be using (2) 25W or (2) 50W Cobalt Neotherm heaters. Considering this will be supporting a 12G tank in Southern California, I don't expect the need to be more than a total of 60-100W.
 

kyleinpdx

Well-Known Member
View Badges
Joined
Jul 21, 2016
Messages
679
Reaction score
667
Location
PNW
Rating - 0%
0   0   0
I'll be using (2) 25W or (2) 50W Cobalt Neotherm heaters. Considering this will be supporting a 12G tank in Southern California, I don't expect the need to be more than a total of 60-100W.

Roger that. I was assuming something along those lines. Keep up the good work, I've been following this thread. I'm not as savvy with PLC's and automation as I could be, but my pops was a controls engineer for decades, working some cool projects including a now defunct nuclear power plant and many of the municipal waste water treatment centers around where I'm from. Its exciting to see someone bringing that to the aquarium controller game.
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Roger that. I was assuming something along those lines. Keep up the good work, I've been following this thread. I'm not as savvy with PLC's and automation as I could be, but my pops was a controls engineer for decades, working some cool projects including a now defunct nuclear power plant and many of the municipal waste water treatment centers around where I'm from. Its exciting to see someone bringing that to the aquarium controller game.
Glad to hear you're excited, this is all new for me. I've not worked with this level of automation before, but part of the fun is the adventure! :)
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Out of curiosity, with that wattage restriction, how are you handling temp control? Or are you using a heater smaller than the 60w of headroom you've got?
Another thought...if GHL would get around to releasing their Profilux Temp Control 2 I would consider it for this small tank...

 

kyleinpdx

Well-Known Member
View Badges
Joined
Jul 21, 2016
Messages
679
Reaction score
667
Location
PNW
Rating - 0%
0   0   0
Another thought...if GHL would get around to releasing their Profilux Temp Control 2 I would consider it for this small tank...


Oh man! Thanks for that link, I've havent seen that yet but seriously, just last night I was lying in bed thinking about starting a small cold water tank as I live an hour or two away from the pacific and could collect pretty easily. I didnt want to bother with a 1/4 or 1/3hp chiller so I was thinking through using peltiers! I've used them to cool some stupid overclocked PC's way back in the day. My biggest hurdle is finding a reasonably priced heat exchanger that wont get destroyed by the saltwater.
 
OP
OP
MaddyP

MaddyP

'Til Reefdom Come...
View Badges
Joined
Jul 21, 2016
Messages
1,907
Reaction score
4,530
Location
Vancouver, WA
Rating - 0%
0   0   0
Oh man! Thanks for that link, I've havent seen that yet but seriously, just last night I was lying in bed thinking about starting a small cold water tank as I live an hour or two away from the pacific and could collect pretty easily. I didnt want to bother with a 1/4 or 1/3hp chiller so I was thinking through using peltiers! I've used them to cool some stupid overclocked PC's way back in the day. My biggest hurdle is finding a reasonably priced heat exchanger that wont get get destroyed by the saltwater.
If you decide to follow through on this project, I will most definitely follow closely!
 

More than just hot air: Is there a Pufferfish in your aquarium?

  • There is currently a pufferfish in my aquarium.

    Votes: 30 17.0%
  • There is not currently a pufferfish in my aquarium, but I have kept one in the past.

    Votes: 30 17.0%
  • There has never been a pufferfish in my aquarium, but I plan to keep one in the future.

    Votes: 32 18.2%
  • I have no plans to keep a pufferfish in my aquarium.

    Votes: 76 43.2%
  • Other.

    Votes: 8 4.5%
Back
Top