Introduction: Passive House

About: Hey, my name is Nhan and I'm a student of high school Heilig Hartinstituut Heverlee in Leuven. I'm studying Science-STEM (Science-Technology-Engineering-Mathematics).

A house that uses as less energy as possible, we call a passive house. For some of you who uses gas to warm your house, is important that you consume the less energy as possible

A little bit introducing about myself:

Hello, my name is Nhan. I'm a student of high school Heilig Hartinstituut in Leuven, Belgium and I'm studying Science-STEM (Science, Technology, Engineering, Mathematics). For this academic year, I've to research about how we can warm up our houses as efficiently as possible so that we haven't to pay too much for energy. How can I do that, you'll see further in this instructable.

Before you continue with reading, I would like to tell you that if you are interested in this Instructable, please click the button " Vote " in the upper right and ... vote! :-)

Step 1: What I've Used to Make a Model Passive House?

Well, there aren't a lot of materials that I've used, but they are the basics to make my model house:

-An Arduino board (I've used an Arduino Uno)

-A LCD Keyboard Shield to show the temperature (outside and inside)

-Lot of wires

-2 breadboards

-NTC thermistors (2x)


-2 water pumps (each 6VDC)

-Power supply (I've used 12VDC)

-6m (236") of plastic tube with diameter of 1cm (0.39") for the underfloor heating and also for the solar collector

-Solar collector (from black colored metal plate and black painted tube in the shape of a circle)

-A model house made of MDF (with PUR as a isolation material)


To collect data from the arduino and compare with the simulation:

-A USB-cable



If you wish to realize this model, you will need:



(-A thermostat)


-A microcontroller (you can use other type of board, but the code that I've made is for the Arduino)

-Your house with informations of your isolation materials

Step 2: Design and Collect

I've made this model house that I'm using to run my test on Sketchup. It is a 3D program that you can download it without paying. Then, I've transferred this 3D program into Inkscape, a 2D program that I needed to cut out my house from MDF boards with a laser cutter. MDF is a free material that I've received from my professor.

I've found on Google that PUR (foam) is one of the best and cheapest (in Belgium) isolation material. So, I went to a shop in my neighborhood to buy it. The walls of my house is made of 3mm MDF, 3mm PUR foam and 3mm MDF.

Step 3: Simulation

This is the formula that I've used for my simulation. It is a kind of recursive relation.

T(in, n) = [ (P - P(leak, n-1))*Δt ] / Σ[ m*c ] + T(in, n-1) and P(leak, n-1) = (T(in, n-1) - T(out)) / R(th) with:
T(in, n): The temperature at the moment that the Arduino meets.
T(in, n-1): The previous temperature.
T(out): External / outside temperature.
R(th): Total of heat resistance of your used materials.
P: Added power from the radiator (in my case, I've used an underfloor heating system).
P(leak, n-1): The power that it leaks out of your house by the previous measurement result.
Δt: time duration between the two measurement results.
Σ[ m*c ]:
-m is the mass of your used material
-c is the heat capacity of your used material
If you multiplied m with c, you'll have a value with J/°C as an unit (a quantity of energy that you need to warm up a material with 1°C). Σ[ m*c ] is the sum of all values of the materials that you have used.

You can see the results of the test and the simulation (in chart).

I've set the minimum and the maximum temperature of the house into 30°C and 32°C, because the outside temperature at the moment is 20°C. If the temperature is higher than 32°C, the pump stops with working and if the temperature is lower than 30°C, the pump will work again until the temperature will be higher than 32°C again.

Step 4: Read Data From Arduino in Excel

If you wish to read to read data and plot it from Arduino into Excel, you can install a little program called PLX-DAQ ( In my case, I can't use it because I have Excel 2016 and PLX-DAQ can't supported for Microsoft Offices that they are newer than 2003 (I think?). But that is not a real problem if your case is as same as me, I have received the Excel file with a program on Visual Basic. With that program, Excel can read Data from Arduino (or COM port(s), because you connect your Arduino with the computer via one of the COM ports that your computer has).

Remark: This Excel file is written in Dutch, so you may have to translate it into your own language.

Step 5: Electric Circuit

The picture above is the electric circuit of my pump system. You can ignore the distance sensor HC-SR04 and LEDs. They are just something extras for my house. If you are interested in why I've used the distance sensor and LEDs, please read my other Instructable:

There is a word in Dutch that you may not understand (for non-Dutch speakers):

Zonnepaneel = Solar panel

I've used two solar panels to feed up my Arduino instead of a computer or something else.

The two DC motors are the two pumps. One of them has to pump non-stop water between the solar collector and the hot water tank and the other pump (with a relay) pumps water between the tank and the house if it needs (please read my explanation in the previous step).

Step 6: Code for Arduino

In this code, there are three main parts that you must know:

-Calibration and calculation the temperature based on the voltage of the resistor, temperature at the moment and the resistor of the resistor. (please read:

I can't explain you the first part because I haven't learnt it and my professor has explained to me but I couldn't understand everything, so this Wikipedia page will explain to you better than me.

-Contactless / touchless switch for LEDs (please read my other Instructable:

-Turn on or off the pump when the desired temperature is reached.

if (MotorHouseStatus == HIGH) {
if (temperatureInside < tempMax) {
MotorHouseStatus = HIGH;
} else {
MotorHouseStatus = LOW;
} else if (temperatureInside > tempMin) {
MotorHouseStatus = LOW;
} else {
MotorHouseStatus = HIGH; }

I think that you can understand this part of my code. If you don't understand it, please post a comment and I'll answer your question(s).

Step 7: Pictures of My Model House

They will come soon...

Step 8: Vote!

If you like this Instructable, please click on the button right above and vote me for 2 contests: Lights contest and Power supply contest :-) .

Sorry for some little faults in this Instructable. I'm working on it and if you have any improvement(s), please let me know! :-)

Power Supply Contest

Participated in the
Power Supply Contest