Introduction: Wi-fi Weather Station With Bynk

About: Hi, I'm Matej and I'm a student of Electrical Engineering. I have been working with electronics for more than 7 years and have lots of knowledge, projects and lots to share along my path, so this page is just …

As promised in my two years old Instruct able on the ESP8266, I made a Wi-fi weather station. There isn’t much time around to make projects being in my final year of high school, but this project is used as school project for my mark.

So, what I made is a weather station using esp8266, two sensors, charging and boosting circuitry and a battery. Yes, it can and it is battery powered and can be set anywhere where your home Wi-fi works. I will discuss the battery part after the rest.

And for data analysis and management, I will be using app and library called Blynk.

Step 1: Parts

You will need just a few parts for a full functional wireless weather station.

-ESP8266 board. You will need an esp8266 board that has many pins broken out. You cannot use esp-01 board as it is too barebones. Anything like esp-07 and esp-12 can be used or any other development board. I am using Sparkfuns Thing Dev. I planned on using the other model Thing because, it has 1 li-po cell charging circuitry and power management, but it lacks USB to serial interface. In my opinion it is a better option, as more and more projects are battery powered and the component count can be minimized, if you use this version. I will include this symbol * when a listed component isn’t necessary if you have the Thing version.

- *RGB LED for displaying different states for battery chargers. Showing charging and charging complete.

- *Battery charger and protection. This board will be hooked up to the battery and boost converter.

- A battery. You can use any battery. Most common is a Li-po battery as all Arduino projects and circuits are designed for use with them. Keep in mind, that the esp8266 can draw up to 120mA when connected to Wi-fi spot, although we will be using some power saving features. For me, I had a 1200mAh battery laying around, so I will be using that.

- *Boost converter. If you have the Thing Dev, you need to boost battery voltage that swings from 4.2V charged to 3V, 2.5V when empty. So I use a voltage converter(switch mode types are power efficient) that makes the output voltage stable. I had 0.9V to 5.5V input and 5V output converters laying around, so I used those. I would highly recommend using a 3.3V output regulator, so you don’t waste more power converting it to 3.3V with onboard regulator of the Thing board. That way, if you have 3.3V output converter, you can hook it up directly to 3.3V pin of your esp module. I had to hook up 5V output to esp 5V pin that goes thru an on-board regulator, wasting more power. I didn’t bother spending more money as ultra power saving wasn’t my no.1 priority.

- For monitoring battery voltage, I used a voltage divider 1:3.2 to step down from maximum battery voltage of 4.2V to 1V, as ESPs adc works very strange from 0-1V. Keep that in mind. So, I used high value precision resistors 100k and 320k.

-DHT 22 and ds18b20 sensors

- Power switch

- Dc jack input. I really like batter jack connectors as they can be easily panel mounted and are quite cheap. So, I always use them for charging applications.

- Case for the project

- Optional antenna

Step 2: Tools

You will need some basic tools for electronics work that you already have if you do electronic projects.

-Soldering iron






-Wire strippers


Step 3: Software

So, I talked about all the hardware, on the tools and parts for the project. Now let’s talk about hardware. You probably have already installed Arduino IDE on your computer, so we only need to install the app.

You need to go to and choose your operating system; Android or iOS. Proceed with installing the app on your phone. I have Android, so I will show steps for Android on the video and pictures.

First, you need to register with the Blynk. Most of you have Facebook and I use that to enter, but you can enter with Username and Password. After Logging in, you can press the button to Create New Project. Then you enter your project’s name and find your own board. If you have a generic or unlisted esp8266 device, you can use the default esp8266 setting, but if your board is listed, I advise you to choose it from the list.

Now, that you have your project created, you will get an email with a unique code. You will use this code to link your project on the app and your Internet connected device. You will see later, how you will use this code in your sketch.

Now, that you have all software installed, you can proceed with making your weather station.

Step 4: Building the Weather Station

Building your own weather station is very simple. All you need to do is to put components together. Here is the block diagram of all the parts connected together. You can see all the connections between the components. Refer to your MCUs schematic for pin labeling. I will include one for Sparkfuns Thing Dev. I also includec a bunch of pictures of how I put mine in the same enclosure as the MK1. Go see that instructable on my Instructables page.

In the pictures, you can see how I places certain components. You will se certain thing described in the second picture.

Make sure that you have the jumper from reset to gpio16 or the SLEEP jumper connected when the board is running, so it can wake up itself from sleep according to the timer. If you want to upload code, you need to disconnect this jumper befor pluging in the board to your computer.

Also mind the ADC part. ADC on esp8266 operates from 0-1V and not from 0-3.3 or its Vcc voltage. So you need a voltage divider to translate batterys voltage from 0(well minimum for a dead lipo is 2,5-3V) to 4.2V. All the values are on the picture or you can calculate them on your own. You will get the ratio, but use resistor values around kOhm range. I had 320kR and 100kR values around and higher value resaults in smaller losses.

Step 5: TEST IT!

Now, that your board is complete, upload your code and open your Blynk app. With these pictures, you will see how it looks and what configuration I have. I have two labeled Value display and two history graphs. You can see how to edit them. To add a module, just click the + symbol on top right side when in edit mode. When your module is placed, you can click on it to modify its values and color ...

When you are done editing, you can click that "play" button for the app to start working. You can swipe left on the history graph to have option to delete values or to send them to your mail, which is handy for later analysing data.

If you made this project or a similar one, make sure to leave a comment. If you have a question, you can comment, so everybody can contribute learn.

If you like it, make sure to favourite and share it and check out my other instructables. Thank you for your time and I'll see you in the next one. Have fun.

Sensors Contest 2017

Participated in the
Sensors Contest 2017

Arduino Contest 2016

Participated in the
Arduino Contest 2016