Go Down

Topic: Water Heater (Read 20689 times) previous topic - next topic


I'm just new here and starting my first project with arduino.

I want to build my own water heater, so I need to heat the water to the temperature I want, measure it and have an option to maintain the water in the temperature I want.

P.S.: I will use the heater to drink hot water, so I need a 1-2L water heater.

So I have a few questions:

1) What's the best way to measure the temperature? I'm thinking in use a solid state temperature (http://search.digikey.com/us/en/products/LM34CZ%2FNOPB/LM34CZ-ND/20746), but since the water temperature probably won't really be uniform I don't know where I put the sensor or if I use just one sensor.

2) How do I heat the water? Commercial water heaters normally uses a kind of a metal plate on the bottom of the bottle, so I'd like to do something similar. If I use a thermistor I need to plug it in a metal plate, but can I have a uniform and proper heater producer?

3)I want to maintain the hot water in the temperature after reaching the temperature I set up, so I think I can't only monitor the temperature with the temp sensor, but also know the correlation of heat produced by the sensor and water temperature, isn't it? So what's the best electronic to use in this case?



Noob here as well, but it sounds interesting. I've used PID controllers for similar functions and I believe I've read about folks using Arduino's as PID's.

Is this a coffee machine?


For a hot drink you better cook the water! keeping water at (lets say) 50C could make it ideal for some bacteria

add 1)
A good temperature sensor - http://arduino-direct.com/sunshop/index.php?l=product_detail&p=151 -
The library can be found at - http://milesburton.com/Dallas_Temperature_Control_Library -

one such sensor for 1-2L water is enough imho as the water will have convection due to the heating.

add 2)
Use a commercial heater and switch it in/off with a relay.

but also know the correlation of heat produced by the sensor and water temperature, isn't it?

don't understand this sentence.

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)


It's for a tea machine.

@robtillaart I can't use that temperature sensor with 100°C hot water, it just goes over the range -10°C to +85°C.
Do you have any small commercial heater to recommend me? I haven't found a small one.

About the sentence: If I can change the power of the heater changing the voltage, and if I know the relation between voltage and power, I can just measure the voltage applied to the heater so i  know the temperature. So if I want to keep my water warm I can apply some known voltage. I think it is the fast and cheap way to keep it warm.


Hi just small info , DS18B20 have range from -55 ? ~ +125 ? which is written on link robtillaart give you, but you read only first sentence which describe precision.


Can you just use an ordinary electric kettle element? Perhaps you could even use the body of the kettle as your container, and modify the body to provide your outlet and filling methods.

I don't know if the contents will settle enough to keep hot and cold water separate, but if possible it would be a good idea to design it so that fresh cold water was kept close to the element until it was heater rather than mixing freely with the existing hot water. This would mean using a bottom fill / top outlet and internal baffles to minimise mixing.


Having made a few tea machines over the years here are my suggestions.

1 Standard thermistor you can get them in nice hardened forms as in you can put a probe into the center of the basin.  You can find electric tea kettles with them in there already, generally if it's got a LCD screen on it it probably has one.

2 If this is your first go would use a commercial product and upgrade it, the hard bits of making it waterproof and safe has generally been done for you already.  I would not worry about uniformity to much convection currents in the water will do that for you.  As I find commercial electric tea kettles to be among the most hideous things I used a solid copper stove top type and placed it on a single burner electric "burner".

3 Try something like a solid state switch it can do a very course PWM.


try using peltier junctions to   extract heat from the air and heat the water  they are able to   heat as high as 200 f  also if you built a function in that allows reversal of polarity to the junctions you would have the ability to both  heat or chill the water ive pulled as low as -25f with a junction and a fan




Any hardware store will sell electric heating elements as used with water heaters, although since they thread in it might be a bit of a trick to make it watertight. If you're looking for something more compact you can search eBay for an "injection molding heater".

A standard reed relay will work fine for switching either/any element on and off.

FYI, It takes 3.412 watts to raise 1 pound of water 1 degree Fahrenheit within 1 hour.


May 21, 2012, 05:57 am Last Edit: May 21, 2012, 06:17 am by Techylah Reason: 1
Here's my suggestion:
Use a standard drop-in beverage heater like the YL205.

Control it with a relay and an Arduino digital pin.  Do not use a reed relay; you need the multi-amp current rating (5 - 10a) of a full size relay.
The most sensitive 5v relay I found still draws > 30 ma ( 70 ) so you'll need a transistor on the output pin to operate the relay.

Mount the temperature sensor on a metal straw.
Mount the metal straw to the beverage heater handle with a hose clamp, or something similar.
Make sure it is thermally distant enough from the heater itself, for example a few inches away, preferably lower.

Now you just drop the heater into any pot, cup, or mug and turn on your Arduino.
Rely on convection, as others have mentioned, to keep the temperature relatively uniform.

I think it would be way cool to mount a small 3 digit digital display also on the handle so you can watch it heat!
(LED displays let you hardwire the decimal point (or comma for Europe?) on.)


FYI, It takes 3.412 watts to raise 1 pound of water 1 degree Fahrenheit within 1 hour.

Pounds, Farenheit, hours ... no wonder the probe crashed on Mars  :)

The thermal properties of water are;
Boiling temperature - 100 oC
Specific heat water - 4.187 kJ/kgK
Latent heat of evaporation - 2,270 kJ/kg

Degrees Kelvin are the same size as degrees Centigrade or Celcius.
So to raise 1 kg of water by 1 deg C you need to input 4.187kJ.
Since a Watt is a Joule/s you can calculate what wattage you need to heat the water in the time you require.
Once you get the liquid water to 100deg C you need to keep putting in energy to convert it to steam at the same temperature, that is the latent heat of evaporation.

It takes a lot of energy to heat water which is one reason why it is so good at putting out fires.

One thing I would be wary of is mixing water, mains voltages for the heater and LV wiring for your sensor - make sure you know what you are doing from a safety point of view.


...mixing water, mains voltages for the heater and LV wiring for your sensor...

Yes, this is very true, especially with European 220v vs American 120.  No experienced electronics person would recommend that a newbie wire a heating element for liquids.

That is why I recommended the $15 drop-in heater.  It is an electrically sealed unit.  You don't have access to anything electrical with it.   You immerse it and plug it in; nothing more.   The contacts from your Arduino-controlled relay might even be wired to an extension cord which you cut in half, making that the only HV wiring necessary.   It also lets you easily replace the heater if (when) it burns out.   I would strongly recommend springing for a DPDT relay, rather than single pole.   That way when it is de-energized, say because the Arduino is off, but everything else is still plugged in, both line voltage wires are disconnected, reducing any hazard if the heater develops a leak.


May 21, 2012, 04:49 pm Last Edit: May 22, 2012, 08:43 am by AWOL Reason: 1
Pounds, Farenheit, hours ... no wonder the probe crashed on Mars  smiley

The thermal properties of water are;
Boiling temperature - 100 oC
Specific heat water - 4.187 kJ/kgK

Tch, tch.
sp. "The thermal properties of water are;
Boiling temperature  373.15K"
"Pete, it's a fool (who) looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.


there was a good reason i advised the use of peltier junctions for this project as  the highest voltage  one may come in contact with  is dependent on the  junction used  but will  nearly always be below 60 volts dc

Go Up