Shopping Cart

⚡️ We’re Helping 1 Million People Build Their First Robots

🇺🇸 Proudly Women-Owned Small Business
arduino weather station bme280 oled display

Arduino Weather Station (Updated 2019)

We sometimes use affiliate links in our content. This won't cost you anything, but it helps us to offset the costs of paying our writing team. You can support us directly on BuyMeACoffee. Thank you!

Recently I shared tutorials on using BME280 sensor and OLED Display with Arduino. I recommend you check it out if you haven’t already. In this article, we will make an indoor Arduino weather station. Previously, we made a simple weather station without sensors. But, for this project we will use an Arduino nano, a BME280 sensor, and an OLED display, along with a breadboard and jumpers for prototyping.

Once you gather the materials for this project, let’s start by assembling the circuit.

Assembling the Arduino Weather Station Circuit

We will use I2C for communication, so this is very simple wiring. Refer to the circuit diagram, below.

arduino weather station fritzing

The connections are very simple, we use 4 wires to connect all the components. Just connect all the Grounds (GND) together and VDD/VIN to 3.3v. Next connect the SDA and SCL to A4 and A5 respectively. That’s all for the connections. Here is a picture of the circuit on actual breadboard.

arduino weather station assembled circuit

After making the circuit, it’s time to program it.

Program Arduino Weather Station

Next, it’s time to create a new sketch. Open the Arduino IDE. You’ll want to combine the code from the BME280 sensor and output the readings to the OLED display. While it’s always better to practice writing the code yourself, we’ve included some sample code below.

After the code is successfully uploaded to your Nano, you will notice the OLED light up and start displaying Temperature, Pressure, and Humidity.

Improvements and Modifications

We can improve this prototype by making the circuit more permanent. To do this, you can solder everything on a perf board. I used an Arduino Pro Mini for the perf board circuit because it has a small footprint and low power requirement. The connections are same as the Nano. Just make sure you check the pinout diagram before finalizing the wires. Here are some pictures of the build.

soldered prototype for arduino weather station   full perf board arduino weather station assembly

You’ll notice that this prototype is small but has some extra room on the top. This was intentional because I wanted extra enough room to add other sensors in the future.  The design depends on what you plan on making. I powered everything using 3.7v Li-ion battery.

This guide was designed to give you an overview of the electronics and coding for your very own Arduino weather station. In the next tutorial, I plan to add some more features to this project, and walk you through designing a custom enclosure.

completed arduino weather station with battery pack

I hope you enjoyed this article and learned something new. If you have questions or face any problems, feel free to ask in the comment section below.

Lastly, if you are into robotics, don’t forget to check out my eBook, “Mini WiFi Robot.”

Support Content Like This

You May Also Like

Have a question? Need Help?

Thanks for dropping by! Comments are no longer moderated daily.
Before posting your comment, please consider buying a coffee.
If you'd like to work with Liz, you can schedule a call here.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Learn Robotics Botly Favicon

Become a Learn Robotics Insider


Be the first to know when we launch new robotics content. Plus gain FREE robotics tips to your inbox.

Awesome! Check your inbox for a surprise!

Remote Robotics Courses for High School, Middle School, or Pre-College Training

Join the Powered by Learn Robotics Program

Teach robotics anywhere with our turnkey robotics program!

Download our free program brochure!

Success! Check your email for the download!