
This sensor connects to your home or office WiFi, and automatically uploads a measurement every five minutes. You will need to plug it into a power socket. The node is based on the Wemos microcontroller and costs around Euro 30. You can also order a readily assembled and programmed version here.
A printable version of this tutorial is available. We also have a tutorial for the hackAIR home v1 sensor (based on Arduino).
VIDEO TUTORIAL
What you need
Materials
- Air quality sensor: Nova PM SDS011 (20 EUR)
- Microcontroller: Wemos D1 mini (with headers, 3 EUR)
- Temperature and humidity sensor: DHT22 (with shield and headers, 3 EUR)
- 4 M/F jumper wires (0,50 EUR for 40)
- Micro-USB cable and USB charger
Tools
- Soldering iron + soldering tin (from ca. 20 EUR)
- Poster putty
- Computer
For general soldering instructions, check out this tutorial: Introduction to soldering.

Assemble the sensor
Step 1: Solder headers to your microcontroller
Solder the short headers to the Wemos microcontroller.
In order to keep the header stable during soldering use some poster putty (see red arrow)

Your finished board should look like this:

Step 2: Solder headers to the humidity sensors
Solder the long headers to the humidity sensor shield
Use poster putty again, it really helps!

Step 3: Stack the shields
Stack the shield over the Wemos and check alignment. The white dots on both the Wemos board and the humidity sensor need to be on the same side.
Check that all pins line up and everything is aligned. If everything is OK then plug it in (push it down as white arrow indicates).
Your finished Wemos shield pair should look like this:

In order to check that you put the shield in the correct orientation there is an easy way: White dots. At the Wemos board as well as at the humidity sensor shield you are going to find a white dot in one of the corners. The white dots from Wemos board and sensor shield must be in the same side (just like the picture on the right)

Step 4: Connect the cables
Connect the sensor with four M/F jumper wires as follows. The picture shows the connections of the female side to the SDS011 sensor.

Sensor | Wemos |
---|---|
5V | 5V |
GND | GND |
RXD | D6 |
TXD | D7 |


Install the software
Step 1: Preparations and downloads
Download the Arduino IDE software and install it on your computer.
Register on the hackAIR platform (if you have not done that already).
Go to your user profile on the platform ➞ Tab “Sensors” ➞ click on “add a new sensor”.
Save the information that you have provided. Now you go back to your profile, go to the tab “My sensors”. Click on the arrow in the bottom right corner. This takes you to your sensor profile. Here you see the access key. Copy the access key into a document on your computer. You need it later.
If you want to send your sensor data to OpenSenseMap as well, you also need to register your sensor there:
-
Go to https://opensensemap.org and create an account (→ Register)
-
Register your sensor ( → New SenseBox), select hackAIR as the sensor type and take note of your senseBox ID and senseBox access token.
Step 2: Arduino set up
Now open the Arduino software to set it up to work with your sensor.

1. Add a board manager. Go to Arduino ➞ Preferences

Add the following link to Additional Boards Manager URLs:
http://arduino.esp8266.com/versions/2.4.2/package_esp8266com_index.json
2. Install libraries
Click on Sketch ➞ Include Library ➞ Manage Libraries…
We need to install the following four additional libraries:
- WiFiManager by tzapu
- DHT sensor library by Adafruit
- Adafruit unified sensor library by Adafruit
- hackAIR by Thanasis Georgiou
If you are installing the advanced version of the hackAIR software (e.g. to connect to OpenSenseMap), you also need the following libraries:
-
-
Adafruit_MQTT by Adafruit
-
ArduinoJson by Benoit Blanchon (Attention! Use version 5.13.2, not version 6)
-
ESP8266 InfluxDb by Tobias Schürg
-
3. Connect Wemos
Connect the Wemos sensor to your computer with the USB cable.
Select the correct board type by going to Tools ➞ Board ➞ Arduino ➞ Wemos D1 R2 & mini

Select the correct port by going to Tools ➞ Port ➞ [name of the port]
On Windows: If more than one port is shown, you can find the correct one in your computer’s Device Manager.
On Mac: you’ll first need to download USB2Serial drivers. Once that is done, choose something like “wchusbserial”.

4. Upload software to Wemos
To install the original version (without OpenSenseMap support), go to File ➞ Examples ➞ hackAIR ➞ Wemos
This is the window that opens – it contains the software that needs to be uploaded to your Wemos sensor
Scroll down to Line 28: #define AUTHORIZATION “AUTHORIZATION TOKEN”
Replace the words “AUTHORIZATION TOKEN” in the quotation marks with your sensor access key, but keep the quotation marks.
In Line 34, replace the DHT11 with DHT22.
If you are installing the advanced version (with OpenSenseMap support), you need to download the hackAIR sensor software from https://github.com/hackair-project/hackair-v2-advanced and open it.
Now you are ready to upload the software. To do so, just click on the upload button (the arrow that points to the right).
5. Connect the sensor to the network
Now you are ready to use your sensor. Disconnect the Wemos from the computer, and reconnect it with the sensor. When you power it up, it will create a temporary WiFi network.
With your laptop or phone, connect to the WiFi network ESP-wemos. Go to 192.168.4.1 and configure the WiFi by entering the details of your home WiFi (SSID and password).
If you have installed the advanced software version, you will also be asked for your hackAIR access key and your OpenSenseMap credentials (senseBox ID and senseBox access token).
Once set up correctly, the temporary network will disappear and the sensor starts measuring.

Measure air quality
Once your sensor is up and running, you can read its measurements on the platform:
- Browse to the https://platform.hackair.eu and login with your account
- Visit your profile and select your sensor area
- By selecting each sensor you will be able to see your measurements.
If you have also set up your sensor to send to OpenSenseMap, your data will show up there, too.
CHECK YOUR SENSOR IS WORKING
If your sensor does not show up on the platform, you can check if the sensor is working with the Arduino software:
1. Connect your sensor to your computer
2. Select the right port
3. Open Tools > Serial Monitor
4. You should see:
- a row of numbers appearing
- the message “connected”
- a line with: {“reading”:{“PM2.5_AirPollutantValue”:”X”,”PM10_AirPollutantValue”:”Y”},”battery”:”Z”,”tamper”:”0″,”error”:”0″}
5. Check your internet connection, and the SSID and password, if “connected” does not appear
6. Check your soldering and connections, if the line “{“reading”:{etc.” doesn’t appear