Introduction: Arduino Wireless Water Leak Sensor

About: Passion for electronics, and love to solve bigger problems with the the most performing solution. 'Let the machines do the work' Founder of Skjold Display.

Wireless water leak sensor.

This sensor is battery powered, and sends data to Telldus gateway. From you can setup triggers to send mail or sms. The secret to make this work, is to use Arduino as temperature and humidity sensor. And make Telldus react on the humidity values we send.

What you need:

1x Telldus gateway.

1x Powerbank enclosure for two batteries.

1x 18650 battery

1x Arduino pro mini.

1x 433mhz ASK transmitter

1x 4,7K resistor

Step 1: Low Power

On the "Enhancement Pro Mini 3.3V/5V adjustable 8M MEGA328P Arduino pro mini compatible" from ebay, low power is very simple.

Just cut the power led trace and desolder the voltage selector.

Low power current is meassured to 5.5uA.

Step 2: Sensor Pins

Solder header pins to Arduino pin 12 and A0.

Solder 4,7K resistor to pin 13 and A0.

Step 3: Transmitter

Almost any ASK 433mhz transmitter can be used. I'm happy with STX882.
Transmitter can be placed on any digital pin of choice.
See your transmitter pinout, and set them up in code:
const byte TX_PIN = 3;
const byte txVccPin = 2;
const byte txGnd = 4; //(may not be needed if you use GND pin on arduino)

Connect 83mm antenna to transmitter.(just a solid core wire. Picture is a coiled antenna, and is not needed)

Step 4: Enclosure and Power

I have used a two battery powerbank from ebay. This gives me enclosure and battery power in one step.

Place arduino in enclosure, and make some scratchmarks in the plastic from the sensor pins.
Drill 2mm holses for sensor pins.

Connect power from B+ to vcc and B- to GND on arduino.

Importaint remark about this, is that we dont use the 5v from powerbank, but the cell voltage directly. This voltage is 4.2v when full.

Stick arduino in place with hot glue.

Step 5: Complete

Finnsihed product.

Seal the sensor pin holes with hot glue.

Oh, and as a bonus, the selected enclosure gives you a led flash light, and recharge capabilities :-)

Step 6: Code

To get going you need to add Jeelib library from LowPowerLab.

You also might have to play with trigger 900 to sense correctly:
if (sensorValue <= 900)send433(0,100,addresse);
else send433(0,0,addresse);// temp,humidity,addres

Step 7: Teldus

Now, in you will see oregon sensor with address 2.
Setup trigger is self explanatory. Telldus have done a good job there.