|
ESP32 DEV KIT microcontroller board |
x 1 | |
|
ILI9341 TFT touch Display 240x320 |
x 1 | |
|
Pushbutton Switch |
x 1 |
![]() |
arduino IDEArduino
|
|
![]() |
Soldering Iron Kit |
Advanced ESP32 Internet Weather Station with 5 day Forecast
A weather station typically includes sensors that measure various environmental factors, and data collected by these sensors is then utilizes to predict the weather for the next few hours or days. In this case the data is taken from Opeweathermap site where we can create a free API key, so the device contains a minimum number of components.
Some time ago I happened to watch a video with this weather station. The author of this project is Andrey Ushakov , and all credits go to him. He was also provide a link to the code . However, the archive is full of many different versions, and other data. In addition, the code is relatively complex and has too many options, such as the type of microcontroller used, MP3 player, FM radio, support for external sensors, different types of displays, the option of two displays for greater visibility, infrared control, calendar, and many others. It was really hard to navigate through all the code versions, options, and information.
So I decided to make and document this project in a little more detail, so that anyone can make it in no time. At the same time, I decided to leave out all accessories and options, and stick to the basic purpose of the device, which is just a advanced Weather station with a big clock. I say Advanced, because it contains all possible weather information, including a five-day forecast.
As I mentioned before, the device is extremely simple to make and consists of only few components:
- Esp32 dev module microcontroler board,
- 2.8 Inch TFT color Display with IL9341 control chip,
- and one Button, or as in my case, a metal plate connected to the specified pin of the ESP32
If you want to make a PCB for this project, or for any other electronic project, PCBway is a great choice for you. PCBway is one of the most experienced PCB manufacturing company in China in field of PCB prototype and fabrication. They provide completed PCB assembly service with worldwide free shipping , and ISO9001 quality control system. Also, on their site there is an online gerber viewer where you can upload your gerber and drill files to render your board.
Now let's follow the order and method of installation of the microcontroller. First, you need to install ESP32 Board in Arduino IDE.
1. In your Arduino IDE, go to File> Preferences
2. Enter the following into the “Additional Board Manager URLs” field:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Then, click the “OK” button:
3. Open the Boards Manager. Go to Tools > Board > Boards Manager…
4. Search for ESP32 and press install button for the “ESP32 by Espressif Systems“. Just to mention that in my case I used arduino core for ESP32 ver.2.0.4 :
5. That’s it. It should be installed after a few seconds.
Next, the ESP32 filesystem uploader should be installed on the Arduino IDE.
1. Go to the given page and click the ESP32FS-1.0.zip file to download.
https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/
2. Find your Sketchbook location. In your Arduino IDE, go to File > Preferences and check your Sketchbook location.
3. Go to the sketchbook location, and create a tools folder.
4. Unzip the downloaded .zip folder. Open it and copy the ESP32FS folder to the tools folder you created in the previous step.
5. Finally, restart your Arduino IDE.
To check if the plugin was successfully installed, open your Arduino IDE. Select your ESP32 board, go to Tools and check that you have the option “ESP32 Sketch Data Upload“.
As for the Arduino IDE, I specifically used version 1.8.16. Next, all the libraries provided in the Library folder should be installed. Just to emphasize that in order to compile the code without errors the given versions of libraries need to be installed. If you previously had newer or older versions, they should be deleted. Also, in this folder there is a modified E TFT SPI library that matches the given schematic diagram.
Next, in the text file "data.txt" located in the "meteo" folder, enter the data for the API key that we previously generated on the Openweathermap page.
Then in the Arduino IDE we open the meteo.ino sketch located in the folder of the same name, compile it, and upload it to the microcontroller. If during compilation an error appears with the description that there is not enough space, we need to go to Tools-Partition Scheme, and select Huge APP.
With this step, the initial installation is completed successfully and when starting the device, a certain message appears on the screen.
Based on this message, we need to connect with a smartphone to the Access Point with a name "ESP-Meteo" and password is 11111111. Then, enter the address 192.168.11.11 in a web browser. When the page opens, we enter the credentials from our local Wi-Fi network in the blank fields.
With this step, the complette installation ends. Now we restart the device, and after a certain time information should appear on the display.
This is the main screen with basic informations. It contains a medium-sized clock, date, current weather with UV index, wind speed and direction and air pressure, sunrise and sunset time, forecast for the next 3 and 6 hours, as well as for the next four days. Really a lot of useful weather information on one screen.
By touching the metal plate on top of the device, we move through several screens containing different weather information. Below you can see screenshots of these screens:
And finally a short conclusion. This is probably the most advanced weather station for the construction of which instructions can be found on the Internet, especially if you know that the device I presented in the video is only a small part of the whole project. Also, this is a very good example of how a great device can be made with very little hardware and good software.
The device is installed in a suitable box made of PVC material with a thickness of 5 mm and covered with self-adhesive colored wallpaper.
UPDATE:
The code also contains a mini analog clock and internet radio. This menu is accessed by a long click from any previous condition. In order to enter Internet stations according to our own desire, we need to modify the text file "i_stat" which is located in the "meteo" folder. The digitasl audio signal is generated on pins 25 and 26 and we need to use audio decoder chip and small audio amplifier. For example MAX98357 audio decoder with amplifier board cost less than a dollar. Also, with a small modification of the code, high-ohm headphones can be connected directly to the microcontroller.

Advanced ESP32 Internet Weather Station with 5 day Forecast
- Comments(0)
- Likes(2)
-
Engineer Jul 17,2023
-
HA8IG Op.Imre Jul 08,2023
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
ESP32 Fluid simulation on 16x16 Led Matrix Fluid simulation is a way of replicating the movement and behavior of liquids and gases in differen...
-
Simple GU50 VTTC Tesla Coil with MOT (25+cm Spark) Vacuum Tube Tesla Coils are a common choice for homebuilders for several practical reasons. At Soli...
-
Hourglass ESP8266 Code A hourglass, also known as an sand clock, is a device used to measure the passage of time. It consi...
-
Tug of War Arduino Game on WS2812 Led strip A Tug of War is a classic team-based game where two opposing teams compete to pull a rope in opposi...
-
DIY ESP32 Bioresonance Rife Machine with ZAPPER function Rife machine therapy is an alternative treatment developed by Dr. Royal Raymond Rife in the 1930s. H...
-
Arduino VFO Project with a Large LCD Display A Variable Frequency Oscillator (VFO) is an electronic oscillator whose output frequency can be adj...
-
Exploring the Tesla Coil Driver Board, Full Review & Test Results Some time ago I presented you a video in which I analyzed a super cheap Tesla Coil driver that cost...
-
Arduino Eatrthquake alarm and protection system with D7S seismic Sensor Earthquakes are extremely common events around the world. On average, there are fifty earthquakes a...
-
Review and Comparison of Three Inexpensive Metal Detector Kits A metal detector is a device used to detect the presence of metal objects in the ground or other ma...
-
How to make simple Arduino RGB Led strip VU Meter VU meter or volume unit meter is a device intended for visual presentation of the audio signal. It ...
-
DIY Simple Antistress and Relaxation PEMF Device based on Schumannn resonance frequency 7.83 Hz Schumann resonances are global electromagnetic resonances, generated by lightning discharges in the...
-
DIY Si4825 A10 multiband Radio (MW,SW,FM) Thanks to the production of specialized radio chips, nowadays it is possible to make a quality mult...
-
DIY simple HUNTER Led Game with Arduino Some time ago I presented you a simple to make, but interesting game, a 1D version simulation of "P...
-
XHDATA D-109WB Radio Short Review with complete disassembly Recently I received a shipment of a radio from the brand XHDATA model: D-109WB, so I immediately de...
-
Arduino Rotary encoder combination lock (Arduino door lock system with Rotary Encoder) Rotary dial safes typically use a mechanical combination lock. They are valued for their simplicity...
-
DIY DRSSTC Music Tesla coil with Interrupter using cheap Driver Module DRSSTC (Dual resonant solid state tesla coil) is a type of Tesla coil that uses solid-state compone...
-
Arduino HPDL1414 Retro Clock with Set and Alarm Functions The HPDL-1414 is a 16-segment LED display with four printable fields that is over twenty years old....
-
How to measure weight with Load Cell and HX711
115 0 1 -
-
Instrumentation Input, high impedance with 16 bit 1MSPS ADC for SPI
337 0 0 -
RGB LED Matrix input module for the Framework Laptop 16
559 0 2 -
-
📦 StackBox: Modular MDF Storage Solution 📦
353 0 3 -