Introduction: Integrated Weather Station (IWS)

About: A candle loses nothing of its light when lighting another

In this project, we will be making an Integrated Weather Station (IWS) that measures multiple parameter (air pressure, temperature, rain drop, soil humidity and air humidity) using Arduino, interfacing parameter with Nuvoton, and plot the data with Raspberry Pi.

It’s a quite complicated project and need some basic knowledge requirement, which is:

  1. Arduino with Sensor Setup
  2. Arduino - Nuvoton Communication
  3. Arduino - Raspberry Pi Communication
  4. Raspberry Pi - Data Plotting
  5. Raspberry Pi - Data Logging
  6. Raspberry Pi - Real Time Clock (for Data Logging)

Step 1: List of Material

For this project, we will be using:

- Arduino boards (mine Arduino Uno Rev3)

- Nuvoton NUC140

- Raspberry Pi

- Flash Drive cost:~5.00 USD

- Real Time Clock (RTC) Module cost:~3.00 USD

- DHT11 Humidity and temperature sensor cost:~5.00 USD

- BMP185 Barometer sensor cost:~6.00 USD

- Rain Drop sensor module cost:~2.00 USD

- Soil Humidity sensor module cost:~2.00 USD

- Breadboard or Custom ProtoShield

- Jumper Wire

Step 2: Hardware Connections

  • In general, the connections are very simple. Follow the instructions and images above, and you should have no problems.

Arduino Connections :

Connecting Rain Drop Module

  • the VCC pin on Arduino’s 5V output
  • the GND pin to Arduino’s GND and
  • the Analog Data to Arduino's analog pin 0

Connecting Soil Humidity Module

  • the VCC pin on Arduino’s 5V output
  • the GND pin to Arduino’s GND and
  • the Analog Data to Arduino's analog pin 1

Connecting BMP185

  • the VCC pin on Arduino’s 3.3V output
  • the GND pin to Arduino’s GND
  • the SDA (Serial Data Line) pin to Arduino’s analog pin 4 and
  • the SCL (Serial Clock Line) pin to Arduino’s analog pin 5

Connecting DHT11

  • the VCC pin on Arduino’s 5V output
  • the GND pin to Arduino’s GND and
  • the DATA pin to Arduino’s digital pin 4

Nuvoton Connections:

  • Connect Arduino Transmitter pin (TX) to Nuvoton Reciever pin (PB0)
  • Connect Arduino GND pin to Nuvoton GND pin

Raspberry Pi Connections :

Connecting Necessary Module

  • Arduino USB Plug to Raspberry's USB Plug
  • USB Wifi Dongle to Raspberry's USB Plug
  • USB Flash Drive to Raspberry's USB Plug

Connecting RTC Module

  • the VCC pin on Raspberry's 3V pin (P1-01)
  • the GND pin to Raspberry’s GND (P1-06)
  • the SDA (Serial Data Line) to Raspberry's pin 3 and
  • the SCL (Serial Clock Line) to Raspberry's pin 5

Step 3: Microcontrollers Programming

Below is the Integrated Weather Station code. Upload IWS.ino code to your Arduino, IWS.c code to your Nuvoton, IWS.py code to your Raspberry Pi, and you should have no problems.

You could clone and edit the code in any way you prefer.

Step 4: Monitor Your Weather Station

There are 2 option for monitoring your Integrated Weather Station:

  1. Open any device that connected to the internet and open your file-well on Plotly
  2. Unplug your Flash-drive and plot your data using Microsoft Excel
    (Check it our how to read data logger)

Step 5: Enjoy!

The final test is to determine if the Weather Station is keeping data log and program survive-ability when internet connection down. The best way to do that is to :

  • Remove the network connection
  • Leave it overnight
  • Remove USB Flash Drive
  • Read & Plot Data Log in your Personal Computer (PC)

After making sure that everything works smoothly, you can take this project into bigger project.

Tech Contest

Participated in the
Tech Contest