Nowadays, DIY temperature sensor for Home Assistant can be very easy and cheap – especially, if you have a complete guide like this one that will show you all the steps.

I will try my best to show you everything needed for the DIY Temperature sensor for Home Assistant:

  • What parts are needed?
  • How much they cost?
  • From where to buy them?
  • How to connect them?
  • How to configure them?
  • How to install ESPHome?
  • And finally, how to add your smart DIY Temperature & Humidity sensor to Home Assistant?

On top, if you have access to a 3D printer I will also show some enclosures that can make the sensor looks better.

3D Enclosures for the DIY Temperature Sensor for Home Assistant
3D Enclosures for the DIY Temperature Sensor for Home Assistant

So, buckle your belts as we are starting with the needed parts for this DIY Temperature & Humidity sensor.

What parts are needed?

Wemos D1 Mini

The first thing that you will need Is an ESP8266 device, and I’m going to use a Wemos D1 Mini.

Wemos D1 Mini - small but powerful enough ESP8266 device that will be the "brain" of our DIY project
Wemos D1 Mini – small but powerful enough ESP8266 device that will be the “brain” of our DIY project

Later, on the D1 Mini I will install the ESPHome software.

DHT22 – Temperature and Humidity Sensor

Also, on the D1 Mini I will attach the Temperature & Humidity sensor. The exact model of the sensor that I’m going to use is AM2302 DHT22 and it is looking like this:

DHT22 Temperature and Humidity Sensor
DHT22 Temperature and Humidity Sensor

Jumper Wires

I will also need 3 female-to-female jumper wires, also known as Dupont wires. Of course, if you have other suitable cables you can use them instead.

3 female-to-female jumper (dupont) wires are needed
3 female-to-female jumper (dupont) wires are needed

USB Cable & optionally USB Adapter

The final things that are needed are micro USB cable and optionally an USB adapter (if you have plans to plug this Cheap & Smart Temperature & Humidity sensor in the power socket).

As I said this USB adapter is optional as you can just plug the sensor in any USB port that you have available.

How much does it all cost?

All components will cost you around $5 to $6 US Dollars (if you already have microUSB cable) and you can buy them using the AliExpress affiliate links below:

At the end of the day, it is not so important from where you will get the needed parts, but how you will connect them and how you will configure them. So, moving to the next step, which is how to connect the D1 Mini and DHT22 sensor together.

How to connect D1 Mini and DHT22 sensor?

D1 Mini comes with these pins and these pins are not soldered so I recommend to solder them as later on, plugging the Jumper wires will be pretty easy.

D1 Mini and Pins. You better solder them together
D1 Mini Pins. You better solder them!

Here are the steps to connect D1 Mini and DHT22 Sensor:

  1. Connect the + (plus) output on the DHT22 to the 3V3 pin on the D1 mini.
  2. Then connect the middle output of the DHT22 labeled Out to the D2 pin on the D1 Mini
  3. Finally, connect the - (minus) on the DHT22 to the G (Ground) pin on the D1 mini.

This is how everything looks like at the end:

How to connect D1 Mini with DHT22 temperature and humidity sensor
How to connect D1 Mini and DHT22 temperature and humidity sensor

How to install ESPHome on the D1 Mini

Next step is to upload ESPHome software on the D1 Mini device. There are multiple ways doing this, but I will use one of the easiest, which is to install ESPHome add-on in the Home Assistant. If you don’t have Home Assistant yet, check this article of mine where I’m explaining what are your options 👉 LINK.

Let’s see how to install the ESPHome add-on.

In Home Assistant go to:

  • Configuration > Add-ons, Backups & Supervisor > Add-on Store (button in the lower right corner) or click on the My Home Assistant Link below:
Open your Home Assistant instance and show the Supervisor add-on store.
  • Next, search for ESPHome, click on the result and then click on the Install button.
  • When the installation is finished the Install button will be replaced with Start button – click on it to start the ESPHome add-on.
  • Wait few seconds for the ESPHome to start and then click on the Open Web UI button.
ESPHome dashboard and add new device button
ESPHome dashboard and add new device button
  • You should see similar screen as above. And you should click on the New Device button.
Adding new device in ESPHome

New device dialog will appear on which you should enter a device name of your choice as well as you WiFi name and password. I named my device: d1-mini-th.

When you are ready click on Next button.

  • From the next dialog, click no Pick specific Board radio button and select the Wemos D1 and Wemos D1 mini. Of course, if your ESP board is different – either find it from the list or select the more generic ESP32 or ESP8266 options depending of your board type. Finally, click Next button.
Pick a specific board to choose more generic ESP32 or ESP8266 options
Pick a specific board to choose more generic ESP32 or ESP8266 options
  • On the next dialog click on Install button, and when possible installation options appear, click on Cancel button. That is needed, because we have to add some YAML configuration before we actually install ESPHome.
cancel the initial installation urge of the ESPHome
Cancel the initial installation urge of the ESPHome
  • Click on the Edit button under your device name (the future T&H sensor) in the ESPHome dashboard.
edit the d1 mini temperature and humidity sensor configuration before installing ESPHome
Edit the D1 mini temperature and humidity sensor configuration before installing ESPHome.
  • Paste the following lines at the very bottom of the configuration:
sensor:
  - platform: dht
    pin: D2
    temperature:
      name: "Living Room Temperature"
    humidity:
      name: "Living Room Humidity"
    update_interval: 20s
Here is how my whole D1 Mini & DHT22 configuration looks like at the end:

Here is how my whole D1 Mini and DHT22 configuration looks like at the end:

  • You may wish to change both names (Living Room Temperature & Living Room Humidity) to whatever is suitable for you. When you are ready, click on the Save button and then on Install button.
  • You will see the same “How do you want to install this on your ESP device?” dialog.
  • Plug the D1 Mini in one of the USB ports on the device where Home Assistant and ESPHome are installed and select “Plug into the computer running ESPHome Dashboard” option from the list.
Plug into the computer running ESPHome dashboard
Plug into the computer running ESPHome Dashboard
  • The USB port where your device is connected will be auto detected and you should only click on it, example: /dev/ttyUSB0.
  • If everything is fine, a terminal will appear with a lot of text and multiple text based progress bars. Wait until you see some temperature and humidity readings or something like this below:
Temperature and Humidity readings after successfull installation of ESPHome on D1 mini and DHT22
Temperature and Humidity readings after successfull installation of ESPHome on D1 mini and DHT22

Challenge for You!

I have a quick challenge for you! If you reach this point and you managed to install ESPHome on your future Smart Temperature & Humidity sensor – let me know in the comments by just type – #THowned

Where TH stands for Temperature and Humidity. I will be very happy to see such hashtags there!


Now, let’s finish this by adding the D1 mini and DHT22 based smart Temperature & Humidity sensor in Home Assistant.

Adding D1 Mini and DHT22 to Home Assistant

Before you continue further it is a good idea to check in the ESPHome dashboard if your DIY Temperature Sensor for Home Assistant is actually online.

D1 Mini and DHT22 sensor are online
D1 Mini and DHT22 sensor are online

If the D1 Mini and DHT22 are online, then you are almost ready and you just have to add your ready to use T&H sensor in your Home Assistant. Here is how:

In Home Assistant go to:

  • Configuration > Devices & Services > Integrations tab or click on the My Home Assistant link below:
Open your Home Assistant instance and show your integrations.
  • Search for ESPHome integration within the list with discovered integrations and click on the Configure, then Submit and finally Finish buttons.
New ESPHome Integration can be found and this is our Temperature and Humidity sensor
New ESPHome Integration can be found and this is our Temperature and Humidity sensor (D1 mini and DHT22)

As a result, 1 device with 2 entities will be added in your Home Assistant integrations page. Click on the 1 device link.

1 device and two entities are added to Home Assistant
  • On the next screen you can see your Temperature and Humidity readings and you can add this as a card in your Home Assistant Dashboard by just clicking on the Add to Lovelace button. From the same place you can start creating Home Assistant Automations, Scenes & Scripts.

ESPHome D1 mini Device Info
ESPHome D1 mini Device Info

3D Printed enclosure/box

The only thing that is missing is a 3D printed enclosure. And here is what I managed to find and print on my Ender 3 v2 3D printer (my article about the printer):

Links to the 3D Models:

If you manage to find other good ones, please share them in the comments section below.

Summary

For around $5 to $6 US dollars and several minutes I managed to DIY temperature sensor for Home Assistant and with that to make my Home even Smarter. Try it out and you can do the same.

Feel free to secure this channel existence by using any of the supported methods in my Website support section.

Follow me on Twitter and join my Discord server.

Stay safe and don’t forget – Home Smart, but not hard!

I’m Kiril and I’m done writing. Bye!


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.