NodeMCU Wireless Weather Station

Project still in process

In this Instructable I'm going to show you how to build personal wireless weather station using NodeMCU (ESP8266)

One year ago I was create weather station based on Arduino. But always there are ways how to improve things to be better.

NodeMCU (ESP8266) WiFi module will send sensors data to and

A Weather station is a device that collects data related to the
weather and environment using many different sensors. We can measure many things like:

  • Temperature
  • Humidity
  • Wind
  • Barometric Pressure
  • UV index
  • Rain

I will use these sensors:

  • Temperature - Dallas DS18B20
  • Humidity, Pressure - BME280
  • Anenometer and wind direction - Davis 6410
  • Rain gauge - Ventus W174

Step 1: Parts

The parts needed in order to build this project are the following:

1) NodeMCU (ESP8266)

2) Dallas DS18B20 temperature sensor

3) BME280 temperature, humidity and pressure sensor (I2C, SPI)

4) Davis 6410 anenometer

5) Rain gauge

Step 2: Schematic and Wiring Diagram

Step 3: NodeMCU PCB Weather Station Shield

Design printed circuit board (PCB), I was used ,,Sprint-Layout" software. Exported to Gerber files.

To create this NodeMCU weather station shield you will need:

  1. NodeMcu Lua CH340G/CH340/CP2102 ESP8266 Wireless WIFI Internet Devolop Module Ebay
  2. Waterproof Digital Thermal Probe or Sensor DS18B20 Arduino Sensor Ebay
  3. JST-XH Kit 4Pin 2.54mm Terminal Housing PCB Header Wire Connectors Ebay
  4. Atmospheric Pressure Sensor Temperature Humidity Sensor Breakout BME280Ebay
  5. 2x 1K 0805 resistor
  6. 1x 120R 0805 resistor
  7. 2x 0R 1206 jumper ( resistor)
  8. 2x 4.7K 0805 resistor
  9. 1x 10K 0805 resistor
  10. 1x RJ45 socket Ebay
  11. 1x 47uF electrolytic capacitor
  12. 1 x 40pin 2.54mm Female Single Row Breakaway Pin header Ebay
  13. copper board

Step 4: Arduino Code

  1. Instal ESP8266 board into Arduino

  2. Enter your's Wifi router ssid and password.
  3. Before upload code into your NodeMCU you will need register in to obtain a WU station ID and password.
  4. Change this ID and password into your weather station Arduino code.
  • char ID [] = "xxxxxx";

  • char PASSWORD [] = "xxxxxx";

3. Register in to obtain ID and key.

  • char ID2 [] = "xxxxxxxx";
  • char Key [] = "xxxxxxxxxxx";

4. Change altitudepws in meters (m) to get relative pressure.

5. I'm using 30 second loop time sending data to And 10 minutes loop time sending data to

Project still in process

Step 5: Source

  1. BME280 library and Davis 6410 anemometer, wind speed, rain meter Arduino code copyright rights belong to -
  2. code copyright rights belong to - Jakub_Nagy
  3. NTP time code copyright rights belong to - ChyneHome

Step 6: Testing Weather Station

NodeMCU send sendors data to and So it looks everything it's working. Job done ;)

Step 7: Making Solar Radiation Shield



    • Remix Contest

      Remix Contest
    • Organization Contest

      Organization Contest
    • Paper Contest

      Paper Contest



    Question 25 days ago on Introduction

    Hello Rimvydas,
    your NodeMCU Wireless Weather Station object is exactly what I was looking for. I have rebuilt the weather station. As far as everything works, except for the reset of the rain.
    What could it be?
    I would be very happy to receive a feedback.
    Sorry for the bad english.
    Greetings from Germany