Aquarium Water Auto Refill

10K9911

Intro: 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

Arduino code is very simple.

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.

11 Comments

You could do the same thing with just a float switch relay and pump, no attiny needed.

Really cool. This maybe a part for my plant growing and watering system. Why you are using the Attiny45 instead of a Attiny85 ?

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.

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.

What sensor did you use for measuring the water level? :)

Im using two pcb pinhead, soldered on the cable.

No specific sensor need, you can use any wire as sensor.

Nice simple design. Have you thought about using solid state relays instead of mechanical relays?

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.

KISS) one float valve will do same job,

two of them in series adds extra safety against overfilling.

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...

Great idea! I really want to learn more about arduino stuff!
Your english is fine ;-)