Weather Monitor Using Arduino

Weather Monitor

This Instructable shows you how to build a micro-controller based weather monitoring device. Built on the Arduino Uno board it can easily be extended and modified should you have additional sensors at hand.Weather Monitor

Main requirements:
– Measure temperature (accuracy +/- 0,5 degree Kelvin)
– Measure barometric air pressure (+/- 0,1 Pascal)
– Display measured values on a LCD on demand by pressing a button

Main components:
– Arduino Uno board as controller unit
– 16×2 LCD for data output
– BMP085 Sparkfun breakout board as sensor unit for barometric pressure and temperature

In order to build this device some experience with soldering is required. Especially the wiring of the LCD and the Sparkfun break-out need to be soldered carefully.
Experience with Arduino Boards is also required and some C-Programming is needed should you want to modify the sources provided or if you have only different components available.

In order to run the Weather Monitor you have to build up the following components:
– A Sensor Box for the barometric/temperature sensor
– A Control Box containing the Arduino board, the LCD and connects to the sensor box
– The Arduino control software which controls the operation of the system

Step 1: Required Components

List of System Components

  • Microcontroller Board: Arduino Uno R3
  • LCD: Gleichmann GE-C1602B-TFH-JT/R
  • Barometric & Temperature Sensor: Bosch BMP085
  • Power Supply: Energiespar-Steckernetzteil USPS-600, Voltcraft
  • Housing: Spelsberg TK Kunststoffgehäuse 180 x 94 x 57 mm plus Montageplatte
  • Illuminated Push-Button: SCI Drucktaster 250 V/AC 0,5 A beleuchtet R13-529ALBL 1x Aus/(Ein)
  • Status LED: Duo-LED 5 mm CQX 95 / WU-1-91EWG Rot, Grün 60 ° Gehäuseart 5 mm 90/70 mcd

Depending on your preferred method to connect the components you may need additional wiring or a breadboard.[/box]

Step 2: Electrical Wiring

Electrical Wiring

This section lists the required wiring. There is currently no graphical schematic available, but I hope it is possible for you to connect up the components based on the following listing:

Summary on Arduino Pins
A0 —> PushButton Manual OP
A1 —> PushButton LED Manual OP
A2 —> Operation Panel LED RED
A3 —> reserved
A4 —> BMP085
A5 —> BMP085

0 —> reserved
1 —> reserved
2 —> LCD
3 —> LCD
4 —> LCD
5 —> LCD
6 —> Illumination LEDs and LCD Backlight
7 —> Operation Panel LED GREEN
8 —> LCD
9 —> LCD
10 X reserved for Ethernet/SPI
11 X reserved for Ethernet/SPI
12 X reserved for Ethernet/SPI
13 X reserved for Ethernet/SPI


BMP085 —> Arduino Uno
VCC —> 3.3V
SCL —> A5
SDA —> A4


Arduino —> LCD 16×2
GND —> Gnd (pin 1)
5V —> VCC (pin 2)
digital 9 —> RS (pin 4)
GND —> R/W (pin 5)
digital 8 —> E (pin 6)
digital 5 —> D4 (pin 11)
digital 4 —> D5 (pin 12)
digital 3 —> D6 (pin 13)
digital 2 —> D7 (pin 14)
digital 6 —> Backlight (pin 15)
Arduino –> 10K Poti –> LCD
Poti-ends to +5V and Ground
Wiper —> LCD VO (pin 3)


Arduino —> Illumination LEDs
digital 6 —> White LEDs PLUS (PWM)


Arduino —> Operator Panel
A0 —> PushButton Manual OP
A1 —> PushButton LED Manual OP
A2 —> Operation Panel LED Error
digital 7—> Operation Panel LED OK

Step 3: Assembly of Sensor Box

Take care when mounting the connector strip to BMP085 breakout board. Try to avoid too much heat during soldering since the sensor readout may become unstable.
In order to operate the BMP085 outside a building it needs to be put into a casing to protect its electric circuit.
A fluffy housing for the sensor board ensures a stable measurement of barometric pressure.
Nevertheless the casing should allow air circulation in order to timely measure of temperature and correct measurement of the air pressure.

Step 4: Assembly of Control Box

The suggested casing allows to mount the Arduino board and additional connectors on the bottom of the casing. First picture above show a suggested layout before mounting the LCD.

Read more: Weather Monitor

Leave a Comment

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