HestiaPi – Open Smart Thermostat

* First instructable here, so be nice 🙂 */

Okay, there are too many open source home automations out there but whenever I tried to look into making any of these I ended up with a bitter taste because of one or a few of the following reasons:

  • The software part was open but the hardware was based on boards either too complicated to produce myself economically or simply proprietary that I could only buy ready
  • The sensors/parts were too expensive
  • It was too ugly for my living room

So I started from scratch by listing my requirements:

  • It has to be open source and open hardware as much as I can
  • It should not rely on external web/cloud/log servers
  • I want to control heating independently
  • I want to control hot water independently
  • I want to be able to monitor and control it over the internet (from work basically)
  • I want to be able to add more functionality later
  • I want to be able to control it “old-school” with its buttons and screen while in the house without the need of a smartphone at hand
  • I want to be able to not only schedule it for regular usage but also to manually override it and set my own

With all the above requirements and after some prototyping, experimenting, failing and experimenting again I decided:

  1. RaspberryPi should be the main board running plain old raspbian
  2. A cheap 1602 LCD display should be enough for my needs
  3. 4 buttons should be enough (Heating boost, Hot water boost, Temperature+, Temperature-)
  4. A custom shield-type board should be produced compatible with most RasPi variants/versions
  5. A pretty enclosure should be purchased to stay pretty – so this will be the non open source part of this ible, sorry (I’m working on a 3D printed case)
  6. Its name will be HestiaPi – derived from the Greek goddess of home hearth, warmth and heating

HestiaPi - Open Smart Thermostat

Step 1: So what is HestiaPi?

So what is HestiaPi?

  • HestiaPi is a box, similar to what many home thermostats look like
  • You fix it on the wall where your old thermostat used to be
  • It connects to your old heating/hot water wiring
  • It connects to the Internet over WiFi
  • Inside it is a credit card sized computer running Linux
  • No additional system is running anywhere else on the internet and no other computers are required to run any other programs. Everything is hapening right inside that box!

Sounds fun? Let’s build one! Here is what you will need.

Hardware

  • 1 x RaspberryPi (version A, A+, B, B+ and B2 are all fine but prefer B2 as its faster) – 27GBP
  • 1 x 4GB MicroSD card (Full SD if you plan to use an old RaspberryPi A or B) – 4GBP
  • 1 x Power supply for mains that provides 5V and at least 2Amp – 5GBP
  • 1 x HestiaPi shield – 24GBP or make it yourself
  • 1 x Enclosure box – any that fits (don’t need to buy ours 22GBP)
  • 1 x USB WiFi dongle (optional) – 6GBP

Total: 36GBP for our makers – 88GBP for the lazy people

Software

All the programs running are stored in the MicroSD card and inserted inside the RasPi. The only configuration you need to change is your WiFi network name (SSID) and password.

So let’s start

Step 2: Quick setup (for the experienced makers)

For those who just want it done follow this guide. The rest who want all the details visit the next step.

4GB MicroSD card

Download the image file first and write it on the card (instructions)

Once all is done, leave the card to the side and move to the HestiaPi shield.

HestiaPi shield

Double-sided PCB file (GitHub) in PDF, Gerber and SVG formats (Fritzing format, more info here)

Components list PDF.

Assemble

  1. Insert the SD card inside RasPi
  2. Push the HestiaPi shield on the RasPi aligning the first pins first (pin1 and pin2)
  3. Push the relay module to snap in place with the HestiaPi shield*
  4. Connect USB WiFi dongle
  5. Connect power
  6. Wait for boot
  7. Find HestiaPi’s IP (see next step if you don’t know how)
  8. Open your browser to this IP

* Please note that the reset function requires a 2 pin female header to be soldered on Raspberry Pi (on A+, B+ and B2 models).

We have skipped the wiring to your home as if you don’t know how to do it yourself it is best for everyone to leave it to a professional or someone who does know. The relay module offers two independent volt-free changeover contact relays so you decide what is best for you.

Step 3: Detailed setup

HestiaPi – Open Smart Thermostat

/* First instructable here, so be nice 🙂 */

Okay, there are too many open source home automations out there but whenever I tried to look into making any of these I ended up with a bitter taste because of one or a few of the following reasons:

  • The software part was open but the hardware was based on boards either too complicated to produce myself economically or simply proprietary that I could only buy ready
  • The sensors/parts were too expensive
  • It was too ugly for my living room

So I started from scratch by listing my requirements:

  • It has to be open source and open hardware as much as I can
  • It should not rely on external web/cloud/log servers
  • I want to control heating independently
  • I want to control hot water independently
  • I want to be able to monitor and control it over the internet (from work basically)
  • I want to be able to add more functionality later
  • I want to be able to control it “old-school” with its buttons and screen while in the house without the need of a smartphone at hand
  • I want to be able to not only schedule it for regular usage but also to manually override it and set my own

With all the above requirements and after some prototyping, experimenting, failing and experimenting again I decided:

  1. RaspberryPi should be the main board running plain old raspbian
  2. A cheap 1602 LCD display should be enough for my needs
  3. 4 buttons should be enough (Heating boost, Hot water boost, Temperature+, Temperature-)
  4. A custom shield-type board should be produced compatible with most RasPi variants/versions
  5. A pretty enclosure should be purchased to stay pretty – so this will be the non open source part of this ible, sorry (I’m working on a 3D printed case)
  6. Its name will be HestiaPi – derived from the Greek goddess of home hearth, warmth and heating

Step 1: So what is HestiaPi?

  • HestiaPi is a box, similar to what many home thermostats look like
  • You fix it on the wall where your old thermostat used to be
  • It connects to your old heating/hot water wiring
  • It connects to the Internet over WiFi
  • Inside it is a credit card sized computer running Linux
  • No additional system is running anywhere else on the internet and no other computers are required to run any other programs. Everything is hapening right inside that box!

Sounds fun? Let’s build one! Here is what you will need.

Hardware

  • 1 x RaspberryPi (version A, A+, B, B+ and B2 are all fine but prefer B2 as its faster) – 27GBP
  • 1 x 4GB MicroSD card (Full SD if you plan to use an old RaspberryPi A or B) – 4GBP
  • 1 x Power supply for mains that provides 5V and at least 2Amp – 5GBP
  • 1 x HestiaPi shield – 24GBP or make it yourself
  • 1 x Enclosure box – any that fits (don’t need to buy ours 22GBP)
  • 1 x USB WiFi dongle (optional) – 6GBP

Total: 36GBP for our makers – 88GBP for the lazy people

Software

All the programs running are stored in the MicroSD card and inserted inside the RasPi. The only configuration you need to change is your WiFi network name (SSID) and password.

So let’s start!

Step 2: Quick setup (for the experienced makers)

For those who just want it done follow this guide. The rest who want all the details visit the next step.

4GB MicroSD card

Download the image file first and write it on the card (instructions)

Once all is done, leave the card to the side and move to the HestiaPi shield.

HestiaPi shield

Double-sided PCB file (GitHub) in PDF, Gerber and SVG formats (Fritzing format, more info here)

Components list PDF.

Assemble

  1. Insert the SD card inside RasPi
  2. Push the HestiaPi shield on the RasPi aligning the first pins first (pin1 and pin2)
  3. Push the relay module to snap in place with the HestiaPi shield*
  4. Connect USB WiFi dongle
  5. Connect power
  6. Wait for boot
  7. Find HestiaPi’s IP (see next step if you don’t know how)
  8. Open your browser to this IP

* Please note that the reset function requires a 2 pin female header to be soldered on Raspberry Pi (on A+, B+ and B2 models).

We have skipped the wiring to your home as if you don’t know how to do it yourself it is best for everyone to leave it to a professional or someone who does know. The relay module offers two independent volt-free changeover contact relays so you decide what is best for you.

Step 3: Detailed setup

This is just the previous step but with more details this time.

4GB MicroSD card

The fastest way to get all the needed files inside your card is by copying what is called an *image* file that I have prepared. This is a different process to just copy-pasting the files from your computer and it will not work by simply doing that. It requires one additional little program that you may already have and a computer.

Download the image file first (3.9GB) from the bottom of the page and then follow the detailed instructions from the link on this page for Linux, Windows or Mac on how to write it on the card.

Once all is done, leave the card to the side and move to the HestiaPi shield.

HestiaPi shield

You will need to make a double-sided printed circuit board (PCB) for this step. Instructables has a ton of ideas on how to make PCB, the cheap way, or in very professional level depending on how much time you have and what finishing quality you are aiming for. I am not going to go into details on how to make PCBs here as its out of scope. Please do your googling if you are a beginner.

No matter what method you choose though you will need at least one of the available formats I have prepared for you. Copper, silkscreen and mask layers are all there!

Once the PCB is ready, get your shopping list (HTML | PDF) for all the components needed.

Final step is to solder all the components* following the Label ID each one has and finding it on the silkscreen map on each side of the PCB. Please note that some components are very small and you may need tweezers. Again, learning how to solder is not what this ‘ible is about so practise first or visit a local hackerspace/fablab where people usually help each other learning new skills.

Case

The case can be a tricky part. You need to fit everything together, make an opening for the screen, the 4 buttons, the 2 LED and the reset button. Ideally you will also need to move the temperature sensor to the furthest possible from sources of heat like the CPU of RasPi and the power suppy module. It is also good practice to have one surface of the sensor in direct contact to the outside air to get the best reading of the room temperature (see photo). Buying the case is the easiest way but the whole point is making *your* case the way you want it. There are cases where people may embed it inside cupboards or whatever their house has to offer. Your imagination is the limit! 3D printing it is of course the way ahead and we will soon have sketch files for you ready to print yourselves.

Assemble

  1. Insert the SD card inside RasPi
  2. Push the HestiaPi shield on the RasPi aligning the first pins first (pin1 and pin2). See previous step photos
  3. Push the relay module to snap in place with the HestiaPi shield*. See photos here
  4. Connect USB WiFi dongle
  5. Connect power
  6. Wait for it to boot
  7. Find HestiaPi’s IP (see next step on how to do that)
  8. Open your browser to this IP

* Please note that the reset function requires a 2 pin female header to be soldered on Raspberry Pi (on A+, B+ and B2 models).

We have skipped the wiring to your home as if you don’t know how to do it yourself it is best for everyone to leave it to a professional or someone who does know. The relay module offers two independent volt-free changeover contact relays so you decide what is best for you.

Scroll to Top