Thingiverse
Open Source Hydroponic with smart aquarium
by Thingiverse
Last crawled date: 4 years, 2 months ago
This project was living for long time in my head, then I made some part of it, and tested it for whole summer.
It consists of aquarium where I monitor temperature,water level, control lights, and pumps, then there are 2 vertical gardens, one which you can see in photos is hydroponics, second is filled with soil and I can controll irrigation by small pump.
Vertical tower is built from 50mm PVC tubes used for house waste. I printed ends, which I secured and sealed by silicone, then mounted it to 2 wooden boards. There are holes of 35mm drilled with big crown drill, where baskets fits. I originally ordered baskets for hydropony from aliexpress, problem was that as the tube is round, there was so much space between tube and basket. I had to design my most complicated 3D model so far, the basket itself. there are 2 files, one is with generated tree supports which works nice with this type of object.
As grow material I used small cubes of mineral wool found at IKEA for few euros for pack.
I pump water to the most top tube, and by cascades it flows with nutrients from aquarium produced by fish, and coming back down to aquarium. At the end of this outlet hose there is diffuser for preventing swirling of water in bottom of aquarium.
There is small motor pump from aliexpress which pumps the water, second motor irrigates second tower with soil.
For light I use red and blue grow strip, brightness is controlled by n-mosfet transistor, the same applies for both motors.
There is also white light for fish.
For temperature reading there is simple DS18b12 sensor with "waterproof" housing.
Water level is measured with simple floater like this
There is box for housing all electronics, it is based on wemos d1 mini.
You can find my other project Mini Fish Feeder which you can connect to this controller.
I use automation for running hydroponic pump every half hour for 3 minutes, this cycle the water in tubes and bring new nutrients.
As firmware I use ESPhome, for HomeAssistant, here is my code:
esphome:
name: smart_aquarium
platform: ESP8266
board: d1_mini
on_boot:
priority: 600
then:
- servo.write:
id: servo1
level: '-10%'
- delay: 1s
- servo.detach: servo1
wifi:
ssid: "Wifi"
password: "pass"
#manual_ip:
# static_ip: 192.168.3.122
# gateway: 192.168.3.1
# subnet: 255.255.255.0
# dns1: 192.168.3.1
# Enable logging
logger:
# level: debug
# Enable Home Assistant API
api:
password: 'pass'
# services:
# - service: control_servo
# variables:
# level: float
# then:
# - servo.write:
# id: servo1
# level: !lambda 'return level / 100.0;'
# - sensor.template.publish:
# id: aktualnyUhol
# state: !lambda 'return level;'
# - delay: 3s
# - servo.detach: servo1
ota:
password: 'pass'
i2c:
sda: D2
scl: D4
scan: True
frequency: 800kHz
#ads1115:
#- address: 0x48
switch:
- platform: restart
name: "Smart aquarium restart"
- platform: template
id: cerpadloRajcinySwitch
name: "Pump second tower"
icon: "mdi:engine-outline"
turn_on_action:
then:
- switch.template.publish:
id: cerpadloRajcinySwitch
state: ON
- output.turn_on: pwm_obeh_rajciny
- output.set_level:
id: pwm_obeh_rajciny
level: 90%
- delay: 15s
- output.turn_off: pwm_obeh_rajciny
- switch.template.publish:
id: cerpadloRajcinySwitch
state: OFF
turn_off_action:
then:
- output.turn_off: pwm_obeh_rajciny
- switch.template.publish:
id: cerpadloRajcinySwitch
state: OFF
- platform: template
id: krmenieServoSwitch
name: "Feed fish"
icon: "mdi:fish"
turn_on_action:
then:
- switch.template.publish:
id: krmenieServoSwitch
state: ON
- servo.write:
id: servo1
level: '-60%'
- delay: 1s
- servo.write:
id: servo1
level: '-10%'
- delay: 1s
- servo.detach: servo1
- switch.template.publish:
id: krmenieServoSwitch
state: OFF
turn_off_action:
then:
- servo.write:
id: servo1
level: '-10%'
- delay: 1s
- servo.detach: servo1
- switch.template.publish:
id: krmenieServoSwitch
state: OFF
text_sensor:
- platform: template
name: "Smart aquarium uptime"
lambda: |-
uint32_t dur = id(uptime_s).state;
int dys = 0;
int hrs = 0;
int mnts = 0;
if (dur > 86399) {
dys = trunc(dur / 86400);
dur = dur - (dys * 86400);
}
if (dur > 3599) {
hrs = trunc(dur / 3600);
dur = dur - (hrs * 3600);
}
if (dur > 59) {
mnts = trunc(dur / 60);
dur = dur - (mnts * 60);
}
char buffer[17];
sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
return {buffer};
icon: mdi:clock-start
update_interval: 30s
sensor:
- platform: uptime
id: uptime_s
update_interval: 30s
- platform: wifi_signal
name: "Smart aquarium WiFi Signal"
update_interval: 60s
- platform: dallas
address: 0x6C0302977937FA28
name: "Water temperature aquarium"
dallas:
- pin: D3
update_interval: 30s
binary_sensor:
- platform: gpio
pin:
number: D7
inverted: no
mode: INPUT_PULLUP
name: "Low water level aquarium"
filters:
- delayed_on: 200ms
- delayed_off: 200ms
device_class: moisture
output:
- platform: esp8266_pwm
pin: D0
frequency: 1000 Hz
id: pwm_obeh_hydroponia
- platform: esp8266_pwm
pin: D8
frequency: 1000 Hz
id: pwm_svetla_hydroponia
- platform: esp8266_pwm
pin: D5
frequency: 1000 Hz
id: pwm_svetla_akvarium
- platform: esp8266_pwm
pin: D6
frequency: 1000 Hz
id: pwm_obeh_rajciny
- platform: esp8266_pwm
id: pwm_servo_krmenie
pin: D1
frequency: 50 Hz
servo:
- id: servo1
output: pwm_servo_krmenie
light:
- platform: monochromatic
output: pwm_svetla_hydroponia
name: "Lights hydropony"
- platform: monochromatic
output: pwm_svetla_akvarium
name: "Lights aquarium"
fan:
- platform: speed
output: pwm_obeh_hydroponia
name: "Pump hydropony"
speed:
low: 0.25
medium: 0.35
high: 0.35
It consists of aquarium where I monitor temperature,water level, control lights, and pumps, then there are 2 vertical gardens, one which you can see in photos is hydroponics, second is filled with soil and I can controll irrigation by small pump.
Vertical tower is built from 50mm PVC tubes used for house waste. I printed ends, which I secured and sealed by silicone, then mounted it to 2 wooden boards. There are holes of 35mm drilled with big crown drill, where baskets fits. I originally ordered baskets for hydropony from aliexpress, problem was that as the tube is round, there was so much space between tube and basket. I had to design my most complicated 3D model so far, the basket itself. there are 2 files, one is with generated tree supports which works nice with this type of object.
As grow material I used small cubes of mineral wool found at IKEA for few euros for pack.
I pump water to the most top tube, and by cascades it flows with nutrients from aquarium produced by fish, and coming back down to aquarium. At the end of this outlet hose there is diffuser for preventing swirling of water in bottom of aquarium.
There is small motor pump from aliexpress which pumps the water, second motor irrigates second tower with soil.
For light I use red and blue grow strip, brightness is controlled by n-mosfet transistor, the same applies for both motors.
There is also white light for fish.
For temperature reading there is simple DS18b12 sensor with "waterproof" housing.
Water level is measured with simple floater like this
There is box for housing all electronics, it is based on wemos d1 mini.
You can find my other project Mini Fish Feeder which you can connect to this controller.
I use automation for running hydroponic pump every half hour for 3 minutes, this cycle the water in tubes and bring new nutrients.
As firmware I use ESPhome, for HomeAssistant, here is my code:
esphome:
name: smart_aquarium
platform: ESP8266
board: d1_mini
on_boot:
priority: 600
then:
- servo.write:
id: servo1
level: '-10%'
- delay: 1s
- servo.detach: servo1
wifi:
ssid: "Wifi"
password: "pass"
#manual_ip:
# static_ip: 192.168.3.122
# gateway: 192.168.3.1
# subnet: 255.255.255.0
# dns1: 192.168.3.1
# Enable logging
logger:
# level: debug
# Enable Home Assistant API
api:
password: 'pass'
# services:
# - service: control_servo
# variables:
# level: float
# then:
# - servo.write:
# id: servo1
# level: !lambda 'return level / 100.0;'
# - sensor.template.publish:
# id: aktualnyUhol
# state: !lambda 'return level;'
# - delay: 3s
# - servo.detach: servo1
ota:
password: 'pass'
i2c:
sda: D2
scl: D4
scan: True
frequency: 800kHz
#ads1115:
#- address: 0x48
switch:
- platform: restart
name: "Smart aquarium restart"
- platform: template
id: cerpadloRajcinySwitch
name: "Pump second tower"
icon: "mdi:engine-outline"
turn_on_action:
then:
- switch.template.publish:
id: cerpadloRajcinySwitch
state: ON
- output.turn_on: pwm_obeh_rajciny
- output.set_level:
id: pwm_obeh_rajciny
level: 90%
- delay: 15s
- output.turn_off: pwm_obeh_rajciny
- switch.template.publish:
id: cerpadloRajcinySwitch
state: OFF
turn_off_action:
then:
- output.turn_off: pwm_obeh_rajciny
- switch.template.publish:
id: cerpadloRajcinySwitch
state: OFF
- platform: template
id: krmenieServoSwitch
name: "Feed fish"
icon: "mdi:fish"
turn_on_action:
then:
- switch.template.publish:
id: krmenieServoSwitch
state: ON
- servo.write:
id: servo1
level: '-60%'
- delay: 1s
- servo.write:
id: servo1
level: '-10%'
- delay: 1s
- servo.detach: servo1
- switch.template.publish:
id: krmenieServoSwitch
state: OFF
turn_off_action:
then:
- servo.write:
id: servo1
level: '-10%'
- delay: 1s
- servo.detach: servo1
- switch.template.publish:
id: krmenieServoSwitch
state: OFF
text_sensor:
- platform: template
name: "Smart aquarium uptime"
lambda: |-
uint32_t dur = id(uptime_s).state;
int dys = 0;
int hrs = 0;
int mnts = 0;
if (dur > 86399) {
dys = trunc(dur / 86400);
dur = dur - (dys * 86400);
}
if (dur > 3599) {
hrs = trunc(dur / 3600);
dur = dur - (hrs * 3600);
}
if (dur > 59) {
mnts = trunc(dur / 60);
dur = dur - (mnts * 60);
}
char buffer[17];
sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
return {buffer};
icon: mdi:clock-start
update_interval: 30s
sensor:
- platform: uptime
id: uptime_s
update_interval: 30s
- platform: wifi_signal
name: "Smart aquarium WiFi Signal"
update_interval: 60s
- platform: dallas
address: 0x6C0302977937FA28
name: "Water temperature aquarium"
dallas:
- pin: D3
update_interval: 30s
binary_sensor:
- platform: gpio
pin:
number: D7
inverted: no
mode: INPUT_PULLUP
name: "Low water level aquarium"
filters:
- delayed_on: 200ms
- delayed_off: 200ms
device_class: moisture
output:
- platform: esp8266_pwm
pin: D0
frequency: 1000 Hz
id: pwm_obeh_hydroponia
- platform: esp8266_pwm
pin: D8
frequency: 1000 Hz
id: pwm_svetla_hydroponia
- platform: esp8266_pwm
pin: D5
frequency: 1000 Hz
id: pwm_svetla_akvarium
- platform: esp8266_pwm
pin: D6
frequency: 1000 Hz
id: pwm_obeh_rajciny
- platform: esp8266_pwm
id: pwm_servo_krmenie
pin: D1
frequency: 50 Hz
servo:
- id: servo1
output: pwm_servo_krmenie
light:
- platform: monochromatic
output: pwm_svetla_hydroponia
name: "Lights hydropony"
- platform: monochromatic
output: pwm_svetla_akvarium
name: "Lights aquarium"
fan:
- platform: speed
output: pwm_obeh_hydroponia
name: "Pump hydropony"
speed:
low: 0.25
medium: 0.35
high: 0.35
Similar models
grabcad
free
CUH SDVC31-M Variable Frequency Digital Controller
...uency digital controller
grabcad
input voltage: 85 to 260 vac
output current: 3a
output power: 660va
output frequency: 40-400 hz
thingiverse
free
Solar-Soil-Sensor with Battery by makerbotschmidtienet
...ers:
lambda: |-
if (x > 3.3) {
return 0;
} else if (x < 1.10) {
return 100;
} else {
return (3.3-x) / (3.3-1.10) * 100.0;
}
thingiverse
free
CIM motor centrifugal water pump by raziber
...
solidworks files attached in .zip file.
output is fitted for 0.5" id hose connected with a sip tie over the printed output.
thingiverse
free
Siphon Break for 1/2" ID Tubing
... then install it with the hole facing away from the pump.
i made this as part of a automatic water change system for my aquarium.
thingiverse
free
nfc reader by philsson
... place with double sided tape. the rc522 could also just be snapped into place. to hold the two neopixels i've used hot glue.
grabcad
free
SPL15 - Speaker 15"
...equency range considered "low-mid" can vary, but it generally spans from approximately 100 hz to 800 hz or thereabouts.
thingiverse
free
1/2" to 3/8" Fitting by light555
... light555
thingiverse
a simple 1/2" to 3/8" reduction fitting i made to adapt an aquarium pump to a 3/8" id tube.
thingiverse
free
Simple Pixel Lamp : led_lamp13x8
...dressable_rainbow:
addressable_scan:
addressable_twinkle:
addressable_random_twinkle:
addressable_fireworks:
addressable_flicker:
thingiverse
free
7 segment clock by random1101 for ESPHome by Alex18881
...i] + ledsoffset;
it[ledindex] = espcolor(color[0], color[1], color[2]);
}
}
}
thingiverse
free
Aquarium Water Level Sensor Holder
... than you required, the sensor goes on mode and your pump start to working.
you can prefer the double sensor to stable operation.
Hydroponic
turbosquid
$3
H2Gro Hydroponic Planter
...ty free 3d model h2gro hydroponic planter for download as stl on turbosquid: 3d models for games, architecture, videos. (1479664)
3d_export
$15
hydroponic stand
...e up render. - all parts and materials are logically named. other formats ================= - collada (.dae) - autodesk fbx - obj
3d_export
free
Zephyrus Hydroponic Air Purifier
...ze the air of any remaining microbes before it exits the front exhaust port. the entire system is controlled by a raspberry pi 4.
3d_export
$10
Glass Fishbowl Bowl Hydroponics Plant SET
...painter available for all software<br>ue4. ue5. blender. maya. 3d max. unity. c4d.<br>formats: .obj .gltf .fbx .blend
3d_export
$19
Glass hydroponic vase 01
... x 9.59" x 18.57"<br>- model parts: 6<br>- material count: 3<br>- xform: yes<br>- boxtrick: yes
3d_export
$19
Glass hydroponic vase 02
... x 4.44" x 16.26"<br>- model parts: 4<br>- material count: 3<br>- xform: yes<br>- boxtrick: yes
thingiverse
free
Hydroponic
...hydroponic
thingiverse
hydroponic
free3d
$10
HYDROPONIC SYSTEM
...hydroponic system
free3d
hydroponic system
thingiverse
free
hydroponic vase
...hydroponic vase
thingiverse
hydroponic pot
thingiverse
free
Hydroponic Pot
...hydroponic pot
thingiverse
pot for hydroponic growing
Aquarium
archibase_planet
free
Aquarium
...aquarium
archibase planet
aquarium
aquarium - 3d model for interior 3d visualization.
archibase_planet
free
Aquarium
...aquarium
archibase planet
aquarium interior element
aquarium - 3d model for interior 3d visualization.
3d_export
$7
aquarium
...aquarium
3dexport
3d aquarium model
archibase_planet
free
Aquarium
...aquarium
archibase planet
aquarium
aquarium n241209 - 3d model (*.gsm+*.3ds) for interior 3d visualization.
3ddd
free
Aquarium
...aquarium
3ddd
ванна , угловая
ванна aquarium
archibase_planet
free
Aquarium
...aquarium
archibase planet
picturesque element aquarium
aquarium n220210 - 3d model (*.3ds) for interior 3d visualization.
archibase_planet
free
Aquarium
...aquarium
archibase planet
picturesque element aquarium
aquarium n190710 - 3d model (*.3ds) for interior 3d visualization.
archibase_planet
free
Aquarium
...aquarium
archibase planet
aquarium picturesque element
aquarium n070111 - 3d model (*.3ds) for interior 3d visualization.
archibase_planet
free
Aquarium
...aquarium
archibase planet
picturesque element aquarium
aquarium n011209 - 3d model (*.gsm+*.3ds) for interior 3d visualization.
archibase_planet
free
Aquarium
...aquarium
archibase planet
picturesque element aquarium
aquarium n291010 - 3d model (*.gsm+*.3ds) for interior 3d visualization.
Smart
3ddd
$1
SMART
...smart
3ddd
стул smart
3d_export
$5
smart tv
...smart tv
3dexport
beautiful smart tv
turbosquid
$15
Smart
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
3ddd
$1
CTSsalotti / Smart
...ctssalotti / smart
3ddd
ctssalotti , угловой
ctssalotti smart 2800х1700
3ddd
$1
Gala Smart раковина
...gala smart раковина
3ddd
gala , smart
производитель gala
модель smart
design_connected
$13
Smart&Sleek
...smart&sleek
designconnected
wisteria smart&sleek computer generated 3d model.
3d_export
$5
Smart 3D Model
...smart 3d model
3dexport
smart car small mercedes
smart 3d model pio33d 67449 3dexport
3d_export
$15
Smart 3D Model
...smart 3d model
3dexport
smart auto car compact_car compat
smart 3d model savmart 95148 3dexport
3d_export
$12
samsung smart tv
...samsung smart tv
3dexport
samsung smart tv
3ddd
$1
Smart
...smart
3ddd
материалы вирей. модель не моя. переделал под вирей просто.
Source
turbosquid
$30
source
...e
turbosquid
royalty free 3d model source for download as ma on turbosquid: 3d models for games, architecture, videos. (1154551)
3d_export
$7
Source
...er software such as blender, 3d max, unity in the preview you will see the model with its respective materials, textures and mesh
design_connected
$13
Master Line Source
...master line source
designconnected
piega master line source computer generated 3d model.
3ddd
$1
SodaStream Source
...sodastream source
3ddd
сифон
designed by yves béhar
сифон компании sourcestream, изготовленный в современном стиле
turbosquid
$199
Demon source files
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$99
Water Source Animation
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$20
THEATRICAL LIGHT - SOURCE 4
... available on turbo squid, the world's leading provider of digital 3d models for visualization, films, television, and games.
turbosquid
$15
Cross 3D print source model
... 3d print source model for download as max, max, obj, and stl on turbosquid: 3d models for games, architecture, videos. (1680597)
turbosquid
$22
Column capital source 3dsMax 001
...smax 001 3d model for download as max, max, max, obj, and stl on turbosquid: 3d models for games, architecture, videos. (1683199)
3ddd
free
Lite Source LS-21155C-WHT Table Lamps
...le lamps
3ddd
lite source
http://www.lamps-lighting.com/lite-source/ls-21155c-wht.html
3dsmax 2013+2010+obj+.fbx+.3ds
Open
3d_export
free
Opener
...r
3dexport
3d model of can opener. its my first work, if u can please show me my mistakes. this 3d model was created in autocad.
3d_export
free
Cap opener
...cap opener
3dexport
handy cap opener, more files/formats here:
3ddd
$1
Кресло, Open Oreon.
...кресло, open oreon.
3ddd
open , oreon
кресло, open oreon.
3d_ocean
$4
Open Book
...r interior max mental model open ray reading shelf text vray
open hardcover book with unique texture map on front and back cover.
turbosquid
$6
Opening Flag
...squid
royalty free 3d model opening flag for download as c4d on turbosquid: 3d models for games, architecture, videos. (1593555)
turbosquid
$10
Open book
...
royalty free 3d model open book for download as skp and obj on turbosquid: 3d models for games, architecture, videos. (1690781)
turbosquid
$2
bottle opener
...lty free 3d model bottle opener for download as blend and obj on turbosquid: 3d models for games, architecture, videos. (1621201)
turbosquid
$24
Bottle Opener
...free 3d model bottle opener for download as max, obj, and fbx on turbosquid: 3d models for games, architecture, videos. (1300948)
turbosquid
$20
Open Box
...yalty free 3d model open box for download as ma, obj, and fbx on turbosquid: 3d models for games, architecture, videos. (1481218)
turbosquid
$10
Wine Opener
...ty free 3d model wine opener for download as ma, obj, and fbx on turbosquid: 3d models for games, architecture, videos. (1240730)