DIY HestaPi hardware?


Done :wink:

Please post here if anything else is missing


If you ask, I post:

  1. I think the schematic is the only thing missing right now. If you can post it in any format, even a jpg, I can help in setting up the KiCad project (I read you would like to change CAD, not sure you already did).

  2. The DHT11/22/AM2301 sensor is a bit generic. I found a DHT22/AM2302. It seems the 2302 has an integrated pull-up resistor on data pin. Can we use these families without problem?

  1. The PCB is done in Fritzing as it was an easy choice for beginners to start with.
    The problem with it is that it had very limited amount of components available and with HestiaPi using some more “special” components (PSU, sensors) we could not properly design the schematic but use dummy pads on the PCB view to represent the the missing components. Here is the latest version of it but if you are willing to help we can give you some modifications needed.
    KiCAD sounds like a dream to us. We wish we had it in KiCAD. A friend volunteered to help but he got busy :slight_smile:. We would be gratefull if you could help!!!

  2. The pinouts are the same and the scripts that read the data are all tested and available inside the HestiaPi image file (/home/pi/scripts/). You just need to rename the one you use. The R3 resistor is an optional component that is only soldered if your sensor does not include the pullup you mentioned like DHT11. We found the BME280 being very reliable and easier to work with so we dropped support for the rest (the modifications I mentioned before about the PCB :wink: ). It only costs 1USD/GBP/EUR more.


Unfortunately I found a lot of BME280 sensor with 6 pins and no one with 4 pins. The DHT22 is available on amazon for 6,5€ and is 4 pins ready to solder (vertical housing, no need of 90° pin strips).

I have the schematic and PCB in KiCAD, with new components and footprints already done (95%). I designed a pair of modification as my needs, but it will be easy to revert to the standard version (I add a separate connector for AC power, with 7,62mm pitch, and made the 4 pins connector 2xNO-NC). Let me add the sensor and properly connect the relays, then I can commit the project on github.

Happy new year to everyone! See you in 2018!


Stop the press!
If you are that quick, I will make the effort within the day and add the pending modifications I had in mind so that we all have the very final version! I will contact you directly to avoid confusing people with downloadable links as people tend to download faster than reading the text :slight_smile:

About the sensor… my first supplier was from Amazon but I cannot find them now… I deal directly now with them wholesale.
Here is the same item

Use the 5V 4-pin version.


I hope this is on topic enough, to answer the HestiaPi staff question from November as a second perspective, I found Hestia because I have implemented Openhab in the past and next up was integrating a thermostat; I’m very unhappy with “cloud” so I set about to build something for Temp, Humidity and fresh-air control. So I had found the parts before I found the HestiaPi Touch…that’s how we got here.

I have similar hardware although not identical to the touch already; with my desired frankenstein being more a Classic with a 2.8" touchscreen display, so now I’d like to pick up the process staying as close as possible to a Touch/Classic clone. I tried the v8 image on a Raspberry Pi 3 but didn’t get to a console or the GUI so the question is should I fork to a new thread for installation instructions on a-typical hardware?

-I’ve found the GitHub repo so will start attempting to put things together with that
-Using the v8 image and feeble attempts to turn the HDMI back on were a failure (even though my display is similar it seems to initialize but that’s it, it would have been nice to try the image just to see what it looks like; long term I’d much prefer to install the required pieces, I’m one of the “So for people who don’t want to blindly install an .img file”)

For reference I have a Raspberry Pi 3, Adafruit 2.8" Capacitive Touchscreen, PiPlate relay hat, combined with BME280 as well as SHT-31D sensors for redundancy. I would think there are a number of other people out there in a similar situation interested in making what we’ve got already work, then contemplating the HestiaPi Touch “proper” in the future.

Thanks for the jump start on this project!


Hello Strawberry! Welcome to the forum :slight_smile:
The GitHub repo holds all the code and scripts for the software. The option between HDMI or LCD is a system configuration file which is not included there. The steps to go from a clean Raspbian to a working HestiaPi Touch are too many with specific commands etc and we are not sure how much they will help people than confuse/scare them. This is why we offer only the .img files but we totally understand where you are coming from. We will add a new section for manual installation here soon with a big warning sign on top! :slight_smile:

We will let you know as soon as it is available. Give us 1-2 days to polish our notes…


Here is the big warning sign we promised… oh and the steps you asked.
Under User Manual:

Please help us making it better if you find mistakes by posting below.


Thanks for the quick response! After looking at it I think it will detract from the process others are discussing on this thread to discuss installation in detail as requested. I see I can edit my previous post so I’ll keep good notes and put that discussion on a thread elsewhere, and link to it from this discussion for others to pick up the peanut trail if needed.

The thread for the process is now created:


Yes, it would be better to comment on the linked thread above.


Question for HestiaPi, I’m finding that the realization of a replacement for a Honeywell TH6220D with a Raspberry Pi3 is growing ever divergent from HestiaPi’s Git repo so what I’m wondering is if those efforts should fold back into a fork or something? Things I can add here:

-Using a raspberry pi 3 (I created another thread for that already)
-Controlling a PiPlates relay plate for output
-Reading Pressure from the BME280, as well as using the alternate BME280 address
-Same for using a yet unsupported SHT31-D, and its alternate address
-thus I have up to 4 sensors for redundancy (and could throw spare GPIO at having even more)

-I intend to implement a smart schedule (Impulse response calculation to have a target temp at scheduled time as the Honeywell does unless of course that’s patented, with smarter cycle time and hysteresis to avoid burning out the furnace)
-HRV control with long term goal of a fresh air purge when it works best for humidity

Most was a no brainer making a hack-job of existing config files, and since I didn’t start from the base image I think some things are broken (I was intending to re-attempt using the base image to see what functions as described by “odie”, who’s also heading toward something similar and seems to have gotten the base-image with an alternate display to work.


I would vote for the form on git. Once you are done and happy we can see how these 2 can merge and activate selectively from settings.
If you last 2 points (smart schedule and purge) will use OpenHAB’s functionality (items, rules, etc) I would be happy to merge them back as they should work with HestiaPi’s hardware straight away.


Is their a simple parts list to build this? I gathered what I thought I needed from other posts listed above and am still missing a few things…

I have the sensor, the Pi zero w, touch display, and relays… Looks like I need a relay board as well. I am printing a case for it with our 3D printer. It would be nice to have a parts list linked separately some place for noobs like me.





Is it possible for me to purchase a PCB from HestaPi or do I have to make one? If so where do I need to go to have one made? That appears to be the only thing I am missing to build this out.


We don’t sell the PCB unpopulated I’m afraid :frowning:
The BOM is under the Make section on our website


I am on my way to make my very first PCB. :slight_smile: I’m etching it tomorrow. This is an exciting project for me. I used the GERB files from the Github page to create my layout to etch the board. I have my case just about 3D printed. I will start my last piece 3D printing tomorrow morning. Then I’m hoping to solder the board the following weekend once the remainder of my parts arrive. From a maker stand point, thanks for not having the board on here for sale. Otherwise, I would have never pursued figuring any of this stuff out. I’m looking forward to more Maker projects in the near future! :smile:


This is what HestiaPi and Open Source is all about! Sharing the knowledge freely so that others learn.
We would be glad if you could post some pictures of the whole process here with some words on what you used. By the way which etching technique are you using?
Well done!!! You are not afraid to try new things, which is a great thing!
Just in time… we are releasing probably later today v9 image with some more improvements. Watch our news page…


Seconded, I’d love to see a blog post of some kind on this :slight_smile:


Hi Strawberry. Just wondering if you know the changes needed to add a BMP280 for pressure, temp and altitude and which GPIO to use on raspberry pi?


Hi there,

My “HestiaPi” was made with a Raspberry Pi 3 and still uses an old image so it may work more smoothly than it had in the past for you.

On mine there was a folder in ~/scripts (sub directory of the pi username’s home directory) that contained a number of supporting scripts. On the version I have, the toggle for the sensor type is in /etc/openhab2/things/default.things.

The I2C data connections are SDA and SCL adjacent to the 3V3

With that working, the script HestiaPi came with read all the values, just doesn’t return them all. There’s two approaches to that issue that I’ve used along the way, either return all values read in text, then run a rule to put them in the respective destinations, or just query the sensor multiple times and throw out the unneeded items. The tossup boils down to how much processing you’re willing to do inside the Python script, and whether the overhead involved is affecting the sensor negatively. For the BME680 (which has a gas sensor as well), I did need to make that leap to reading all values together in one pass.

So in short, if the fundamental operation hasn’t changed from what I built upon, you’d be able to use the existing configuration to switch temperature (and maybe humidity, I forget if it was in the original files or if I added it) to the BME280, everything needed was included in the image. With that working, then switch focus to getting the humidity and pressure value in (and then that permits calculation of altitude).

I also suggest playing with the Adafruit BME280 instructions to get past the “the sensor is working” state.

I have temp/pressure/humidity working on my setup, so once you confirm what you’ve got looks similar still to what I used, we can build on that.