Picture of Arduino weather station.
A while ago I got a idea to build my own weather station, from scratch.
It turned out great. Lets begin!
Remove these adsRemove these ads by Signing Up

Step 1: Parts

Picture of Parts
A list of items I used:
-2x Arduino nano.
-433mhz transmitter .
-433mhz Receiver.
-4x20 LCD (blue)
-a Blue led and resistor
-Electric installation box (watertight).
- Digital Barometric Pressure and Temp Sensor.
- DHT11 Temperature & Humidity Sensor
-1mm Aluminum sheet.
-PIR sensor (movement).
-Bits of wire.
-Heat shrink tube.
-Nuts and bolts.

And a range of different (basic) tools.

Step 2: Code for transmitter

Picture of Code for transmitter
So the first thing is to know which port is which on every part of te Transmitter:

The Arduino Nano was simple, just take a look on the site of Arduino.

Next up is the 433Mhz Transmitter.
On the Board it says:

Next. The DHT11. same as the Transmitter
This part uses the 'DHT11 library' 

A Simple LED and Resistor
I used this only if there was something sent.

The Digital Barometric Pressure sensor is another story dhow,
its got 6 Connections
-VCC (3.3v)
-SDA (Serial Data Signal) (I²C)
-SCL (Serial CLock) (I²C)
-XCLR (no idea) (did not use)
-EOC (end of conversion) (did not use)
-GND (Ground)

So we need to use the I²C on de Sensor to communicate with the Arduino.

i uses the next Libs:

Much of the code to read out the Digital Barometric Pressure and Temp Sensor was ripped form various sites/forums.

For Code and explanation, See the Code file


I forgot something you need to do in order to compile the Arduino code.
In order to convert a float to a string you’ll need to download 2 files and replace some file with these in the Arduino IDE.

Download & info:


Step 3: Electrical diagram transmitter

Based on the Code I wrote a drew an electrical diagram.
Please note that the Transmitter and humidity sensor works of the 5v line,
the Barometric sensors only needs a 1.8V - 3.6V input.

deba168 made it!15 days ago

Thank you bram2202 for making a nice instructable.

Finally I made your weather station with solar power and power saving techniques..


IMG_20140908_085431.jpgIMG_20140908_085723.jpgScreenshot 2014-09-08 09.53.25.png
diy_bloke1 month ago

Weet zeker dat je niet 'disgrace' bedoelt maar 'degrees' :-)
'disgrace' is weer totaal iets anders

Bumsfallera3 months ago

Great stuff! Inspired me a lot! Will build a similar thing.

Emerty5 months ago


Great Instructable, I am going to make something similar.

Quick question, is your power from the mains or battery?

Thanks for taking the time to share the code!

bram2202 (author)  Emerty5 months ago

Both the sender and receiver are powered by 12v power adapters from mains.

The idea was to power the outdoor unit from a Lipo battery charged by solar panels, but i chose the easy way.
Maybe i'll build this in the future
randcook9 months ago
HI Bram,
Like your neat Weerstation, wil en copie marken
Can you post the latest code for your Weerstation.

bram2202 (author)  randcook9 months ago
Hey Peter,

The Code in the Zip above is the latest code.
I wanted to write new code, but i didn't had the time for it.


bram2202 (author) 12 months ago

I used the newest version of the IDE at the time.

but I just checked out the software and I remembered something,
I changed something in the framework of the IDE.
I added some rows to allow the software to convert a float to an int.
Only I don’t know which line.

I will look into this some more.

When I find it I will post it here and change the instructable!
totof60 bram220212 months ago
perhaps a patch to IDE adruino ? like this one :
sreekoneru totof6012 months ago
Did the patch work? I have not had a chance to test it out yet but i'm having the same problem you seem to be having.
totof60 sreekoneru11 months ago
with the 1.5.4 IDE it's ok

sreekoneru totof6011 months ago
Does one have to use Arduino 1.5.4 as well as these patches for the system to work? Just downloading 1.5.4 complied the code with no errors but i cannot get anything to transmit. Thank you for your time.
sreekoneru totof6011 months ago
Hey, that seems to have fixed the problem at least compiling wise. I'll have to upload it into the circuit and then check if that did the trick. Thanks a lot!
bram2202 (author)  totof6011 months ago
Yes. that’s the one I used.
I backed up the “WString.h” and “WString.cpp” files and replaced them with the downloaded ones.
Does one have to use Arduino 1.5.4 as well as these patches for the system to work? Just downloading 1.5.4 complied the code with no errors but i cannot get anything to transmit. Thank you for your time.
totof60 bram220212 months ago
many thanks
Yes, that would be very helpful, thank you. I'm running into the same issue here.
totof6012 months ago

very great project !!

but i have probleme with the transmiter sketch
I've the "error call of overloaded 'string(float&,int)' is ambiguous"
what's the IDE version of arduino you used ?

many thanks
sreekoneru12 months ago
Great project!

I've been building the breadboard prototype and ran into some problems with the code. The LCD works fine when plugged in and I got to change the name and display etc. However, after compiling the code and uploading it to the Arduino for the transmitter, I am unable to see anything being transmitted in the serial monitor (should i see any values?). The blinking LED also stopped. Any ideas/sugestions?

I'm new to Arduino so please excuse my ignorance.

Thank you for your time.
Dylon1241 year ago
You should try making a stand alone arduino for your project like I did.
bram2202 (author)  Dylon1241 year ago
I thought about that, it wouldn’t be difficult,
you only need to attach a temperature sensor, like you used to one of the free ports on the Arduino inside the “In house” unit.

But the intention of the project was to measure the outside temperature, humidity en barometric pressure.
For that I needed 2 Arduino’s to commutate wireless.
So a Standalone wasn’t an option.
Samuel kos1 year ago
If it displays the temp in C how would you get it to display in F
bram2202 (author)  Samuel kos1 year ago
You can do this at 2 point in this project,
Just before you send the temperature, or after you received it.

Just multiply the value by 33.8
I like your Proto box.

You used wires on your LCD

Have you seen my instructable Pinning Liquid Crystal Displays?

bram2202 (author)  Josehf Murchison1 year ago
Thank you!

Yes I did.
I Looked at a way to solder it directly to the Board with the Arduino,
but the pinuot was totally different.
so the easiest way was to do this with wires.

Yes I’ve seen your instructable, Nice one!
I’ll keep this in mind for my next project.
alanballjr1 year ago
I'm not sure when I would ever use this, but it would be pretty cool to have. Or just to make as a conversation starter.