loading
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.
<p>Really cool. This maybe a part for my plant growing and watering system. Why you are using the Attiny45 instead of a Attiny85 ? </p>
<p>Attiny45 was in the drawer. :)</p><p>Now in the planning phase my adjustable plant watering system.</p><p>In the next few week i hope done and tested, then upload here too.</p>
<p>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. </p>
<p>What sensor did you use for measuring the water level? :)</p>
<p>Im using two pcb pinhead, soldered on the cable.</p><p>No specific sensor need, you can use any wire as sensor.</p>
<p>Nice simple design. Have you thought about using solid state relays instead of mechanical relays?</p>
<p>Thanks. </p><p>Yes, but on this small PCB and for 9-12V devices im using these relays. </p><p>(Cheaper and smaller than SSR).</p><p>When controlling AC device, im usin solid state relay.</p>
<p>KISS) one float valve will do same job, </p><p>two of them in series adds extra safety against overfilling. </p>
<p>Yepp, but that realy nasty in the aquarium, especially in nano. ;)</p><p>The sensors size looks a jumper connector, can hide behind filter tube, in the corner...</p>
Great idea! I really want to learn more about arduino stuff!<br>Your english is fine ;-)

About This Instructable

8,163views

93favorites

License:

More by planetleak:iPhone Touch ID windows login ESP8266 TV remote for Homekit Raspberry Pi 2 Homekit - from zero to Hey, Siri (Updated) 
Add instructable to: