Introduction: IoT Weather Monitor E-Paper Display | Internet Connected ESP8266
The E-Paper display will display the weather info, synced with OpenWeatherMap API (over WiFi). The heart of the project is ESP8266/32.
Hey, what's up, guys? Akarsh here from CETech.
Today we are going to make a project which is a weather monitor which displays all the weather-related information on an E-Paper display from DFRobot.
The Display is connected to an esp8266, you can use an esp32 as well with this display. The esp8266 is connected to the internet using wifi whose details can be changed through the code which I have provided on GitHub.
So let's get started! I have also made a video about building this project in detail, I recommend watching that for better insight and detail.
Step 1: Parts
To make this you will need an ESP8266 board or an ESP32 and you can also add a battery if you want.
For the display, I used an EPaper Firebeetle module.
I suggest to use a board from DFRobot with this module as the pinout will be compatible and you will face no issues anywhere, I used Firebeetle board from DFRobot as it has onboard battery charging and monitoring solution.
Step 2: Get PCBs for Your Project Manufactured
You must check out JLCPCB for ordering PCBs online for cheap!
You get 10 good quality PCBs manufactured and shipped to your doorstep for 2$ and some shipping. You will also get a discount on shipping on your first order. To design your own PCB head over to easyEDA , once that is done upload your Gerber files onto JLCPCB to get them manufactured with good quality and quick turnaround time.
Step 3: Download and Set Up the Arduino IDE
Download the Arduino IDE from here .
1. Install the Arduino IDE and open it. 2. Go to File > Preferences
3. Add http://arduino.esp8266.com/versions/2.5.0/package_esp8266com_index.json the Additional Boards Manager URLs.
4. Go to Tools > Board > Boards Manager
5. Search for ESP8266 and then install the board.
6. Restart the IDE.
Step 4: Connect the E-paper Display to the Firebeetle Micro Controller
1. Simply match & align white corners of both the modules and stack the modules on top of each other.
Step 5: Sign-up on the OpenWeatherMap.org
1. Goto the website .
2. Sign up with your email id and other credentials (FREE).
3. Once you are signed in, head over to the API Keys tab and copy your unique API Key which we will need in the next step.
Step 6: Coding the Module
1. Download the GitHub repository: https://github.com/akarsh98/WiFi-Weather-Monitor-...
2. Extract the downloaded repository.
3. Copy the libraries from the downloaded repository to the Library folder in Arduino sketch folder.
4. Open the Code.ino sketch in the Arduino IDE.
5. Change the Wi-Fi SSID and password in the sketch.
6. Add the API key from Step 4 to line number 44 of the code in place of the hashtags.
7. Navigate to Tools > Board. Select the appropriate board that you are using, Firebeetle ESP8266 in my case.
8. Select the correct comm. port by going to Tools > Port.
9. Hit the upload button.
10. When the tab says Done Uploading you are ready to use the weather monitor.
Step 7: Playing With the Monitor
As soon as the module connects itself to the WiFi network the display starts refreshing and you will see the project coming to life.
Participated in the
Pocket Sized Contest
Question 4 years ago
Hi, looks very nice. What is the power consumption of the project? how long would it run on
Reply 4 years ago
Sorry for the late reply.
I haven't tested that yet. Also, the code is not optimised for increasing the battery life right now. If you wanna make it battery powered I think you will have to change the code with sleep functionality.