Introduction: Aquarium Water Auto Refill
Summer is coming, in the heat, the aquarium water quickly evaporates.
These little device check the aquarium water level every ~12hours, and refill if need.
Size: 20x25mm / ~0.8x1 inch
Powered from 5V USB mini.
Step 1: The Parts
- A small PCB
- Attiny45 SU (1x)
- BC847 smd transistor (1x)
- Diode smd (1x)
- 3,5mm 1x2 terminal block (2x)
- 100K resistor 0805 (1x)
- USB mini connector (1x)
- G5V1 relay (1x)
- 9-12V brushless water pump (1x)
- 5V adapter (1x)
- 9-12V adapter (1x)
- Some aquarium air tube
- wire for sensors. (im using breadboard cable)
To programming Attiny
- Arduino panel
- 10uF capacitor
- SOP to DIP adapter to programming smd Attiny
Step 2: Circuit and PCB
The PCB too small, i solder the USB to the other side of the PCB, so mirrored VCC and GND,
but not necessary i see this now.
The pump wiring:
-from the 12V adapter to the pump -
-from the 12V adapter to the relay terminal block one pin
-from the other pin of the realy terminal block to the pump +
Step 3: Arduino Code and Testing
Check the water level every ~12 hour, and if water level low, the pump fill, until required water level reached.
Then stop measuring for the next ~12 hour.
This little device run over a month with my 30L aquarium and it works perfectly.
Using a 1L jug with a cover for the refill water.
I see no sign of electrolysis on sensor!
The code:
int relayPin = 2;
int sensorPin = 1;
int triggerPin = 0;
int sensorState = 0;
void setup()
{
pinMode(sensorPin, INPUT);
pinMode(relayPin, OUTPUT);
pinMode(triggerPin, OUTPUT);
}
void loop(){
digitalWrite(triggerPin, HIGH);
sensorState = digitalRead(sensorPin);
if (sensorState == LOW){
digitalWrite(relayPin, HIGH);
}
else if (sensorState == HIGH){
digitalWrite(relayPin, LOW);
digitalWrite(triggerPin, LOW);
delay(43200000); //~12hour delay.
}
}
I think lot of arduino programming attiny video on instructable, but here my short how-to:
http://youtu.be/IMkKb0Vu55A
And the device test:
Thank you.
ps: Sorry for my english.

Participated in the
Sensors Contest

Participated in the
Arduino Contest

Participated in the
Pet Contest
11 Comments
2 years ago
You could do the same thing with just a float switch relay and pump, no attiny needed.
9 years ago on Introduction
Really cool. This maybe a part for my plant growing and watering system. Why you are using the Attiny45 instead of a Attiny85 ?
Reply 9 years ago on Introduction
Attiny45 was in the drawer. :)
Now in the planning phase my adjustable plant watering system.
In the next few week i hope done and tested, then upload here too.
Reply 8 years ago on Introduction
Hello. I would be very interested how you achieved your plant watering system - I am considering the same system too. Thank you for uploading your design and your story here. Kind regards.
9 years ago on Introduction
What sensor did you use for measuring the water level? :)
Reply 9 years ago on Introduction
Im using two pcb pinhead, soldered on the cable.
No specific sensor need, you can use any wire as sensor.
9 years ago on Introduction
Nice simple design. Have you thought about using solid state relays instead of mechanical relays?
Reply 9 years ago on Introduction
Thanks.
Yes, but on this small PCB and for 9-12V devices im using these relays.
(Cheaper and smaller than SSR).
When controlling AC device, im usin solid state relay.
9 years ago on Introduction
KISS) one float valve will do same job,
two of them in series adds extra safety against overfilling.
Reply 9 years ago on Introduction
Yepp, but that realy nasty in the aquarium, especially in nano. ;)
The sensors size looks a jumper connector, can hide behind filter tube, in the corner...
9 years ago
Great idea! I really want to learn more about arduino stuff!
Your english is fine ;-)