esp8266 tft lcd weather station manufacturer

In the previous article (“WiFi OLED Mini Weather Station with ESP8266“) I have used the OLED kit from https://blog.squix.org. And as promised, this time it is about the “ESP8266 WiFi Color Display Kit”:
I had ordered both because I thought that the Color Display kit is needs the other kit as a base. Well, it turned out that both kits work independently. My bad. Actually this is good, as I have now two independent ESP8266 weather stations :-). An addition to that, they can exchange data (e.g. temperature/humidity) with a server, so that makes them a perfect dual weather station.
Example code is available on GitHub (https://github.com/squix78/esp8266-weather-station-color). The code is very well documented I had no issues to make all the needed configuration (WiFi SSID and connection settings). After a few hours I had the ESP8266 weather station up and running in the first prototype of the enclosure:
After a few hours, I have now my second ESP8266 WiFi weather station with touch LCD. It is not looking good and I very much enjoy it. The design is available on Thingiverse (https://www.thingiverse.com/thing:2527282).

To receive later data by the platform OpenWeatherMap you will need an own account. Sign up here to get an API key: https://docs.thingpulse.com/how-tos/openweatherma...
Go to https://openweathermap.org/find?q= and search for a location. Go through the result set and select the entry closest to the actual location you want to display data for. It"ll be a URL like https://openweathermap.org/city/2657896. The number at the end is what you assign to the constant below.

In this project we’ll show you how to make a WiFi enabled, portable Weather Station using an ESP8266. The software, written by Daniel Eichhorn, uses the Wunderground API to pull weather data. It shows the date, time, current weather conditions, 4-day forecast and even moon phases. The user interface features lovely typography and icons that makes really a clean layout. The 2.4” TFT Feather Wing combined with the Adafruit Feather HUZZAH ESP8266 make assembling this project incredibly easy.

Nice packaging comes with more tham you need to build your weather station. Only thing that was missing was a piece of paper with reference to documentation, which is to be found on the Internets.
What you’ll build in less that 20 minutes of soldering is a device, that (with demo sketch for Arduino IDE) is able to connect to your WiFi and fetch current WeatherStation data for pre-defined location. On first start, it will require to calibrate touch display used to control the device.
Even though it might not be visible at first sight, there’s a tremendous amount of work behind this thing (and by ‘thing’ is meant a combination of software and hardware). When you start installing the sample Weather Station sketch, it appears that you need to install some libraries, all of them by Daniel Eichhorn: ESP8266 WeatherStation which is a WeatherUnderground client, Json Streaming Parser that helps keeping low memory profile while getting huge API responses, and Mini Grafx library that implements a VSYNC equivalent through framebuffer for embedded devices.

This case is made for a 2.4" TFT screen with touch panel. The design is pretty similar to my other design which uses a smaller 2.2" screen instead: https://www.thingiverse.com/thing:2832880

Features:- cheap 240x400 3.5" parallel 8-bit TFT LCD (ILI9327)- any ESP8266 with at least 11 GPIOs available (WEMOS D1 mini used here) - finally all ESP8266...

Wall mounting enclosure set with 2.4 inch ILI9341 touchscreen for ESP8266, NodeMCU, Wemos D1 mini and ESP32, code examples thermostat, weatherstation, social tracker

In this project we’ll show you how to make a WiFi enabled, portable Weather Station using an ESP8266. The soft...ware, written by Daniel Eichhorn, uses the Wunderground API to pull weather data. It shows the date, time, current weather conditions, 4-day forecast and even moon phases. The user interface features lovely typography and icons that makes really a clean layout. The 2.4” TFT Feather Wing combined with the Adafruit Feather HUZZAH ESP8266 make assembling this project incredibly easy.

The resulting data can be displayed both on a TFT screen connected to the sensors and through an online dashboard thanks to the services ofadafruit.io website.
Let’s see how to connect the different sensors and the TFT screen to our microcontroller:TSL2561 Lux sensor: The TSL2561 Lux sensor uses the I2C bus protocol, so we will need to connect the SDL and SDA pins of the sensor to the SDL and SDA pins of the microcontroller (in our case D1 and D2, but you will need to check for your specific microcontroller).
IMPORTANT NOTE ABOUT THE COMPONENTS: I used those components because were the components that I had avialable, BUT there are better options, like using BME280 instead of BME085 + DHT22, or maybe using a ILI9341 TFT screen.
We are going to build a very basic support for the weather and air quality station components, remember that most sensors must be open to the environment and not enclosed inside any kind of box, even with some kind of ventilation, in order to function correctly.
My option has been to mount the sensors and the microcontroller on a protoboard solder board and the TFT screen on a smaller one, using 2 pieces of wood of 14x8cm and 8x4cm as support.
After finishing the assembly of the elements that make up the weather and air quality station, we will have a device that will show all the sensors information through the TFT screen, but taking advantage of the WiFi capabilities of our microcontroller we can also send the data to an MQTT online broker that includes dashboard functionalities, being able to view the data remotely.

This project deals with a permanent weather station running on a Wemos D1 mini ESP8266 microcontroller that drives a 3.2 inch diagonal 320*480 display with ILI9341 controller. Local / regional weather data are downloaded from an OpenWeatherMap server as a JSON object, parsed, processed and displayed.
Access to information about the weather is always handy in Northestern Europe. The Low Countries where I reside has an amazing variety of weather patterns, common to the mild sea climate at northern latitudes. Sunshine, wind and rain succeed each other rapidly.
There are several weather services and airports that continuously broadcast weather reports aimed primarily at aviation and shipping. A service like OpenWeatherMap is relatively new: an open source community that makes weather data available in JSON strings that can be downloaded, parsed and then processed to display the information one assesses important enough to show on screen (figure 1). In a previous project I constructed what was basically a bench based on a ESP32-WROOM32 microcontroller board and a 320*240 pixel display. However this setup was constructed for experimental purposes using the high-performance ESP32. In the present project we construct a permanent JSON weather station. To have a small footprint and to use a microcontroller whose power matches the job better than the ‘roaring horse’ ESP32 I selected the modest Wemos D1 mini microcontroller board. The Wemos D1 mini has WiFi on board which is most practical, it has enough memory and sufficient speed. The current project leans otherwise heavily on experience obtained during the previous weather station project.
JSON strings received from www.openweathermap.orgcontain an amazing lot of weather information of almost any place on the globe. Figure 1 presents the local weather inormation. I am most interested in: current temperature, minimum and maximum temperatures of the day, barometric pressure, relative humidity, wind, wind direction. A little bit of graphical presentation embellished the screen. The big challenge is that all information has to fit a limited, 320*240 pixel screen.
The first basic decision was that all components should fit an 8×12 cm double sided prototyping soldering board, with the display in landscape orientation: a 3.2 inch diagonal 320*240 pixel TFT with ILI9341 controller and SPI connectivity. This leaves several possible positions for the microcontroller board: above, below or next to the display. Most pleasing for the eye is when the microcontroller is positioned next to the display, with the power connector directing downward. Wiring can then be ultrashort. All wiring is of course located on the back of the soldering board. Another basic decision (rather a dogma) was to mount the major components always on pin header sockets instead of soldering them directly onto the main board.
Wiring is simple. The display is of the 14-pin SPI type that needs only five wires to control plus, of course, wires for power and GND. An ILI9341 SPI TFT display has a single row of 14 pins of which six serve touch functionality and SD card support. The pinout of the display is presented as a table in figure 2. This is the wiring used in the current weather station. The touch and SD card functionality is not used here.
OpenWeatherMap.org is a company specialized in the distribution of global weather data (https://openweathermap.org). Data for 200,000 locations on Earth is continuously available. Although the firm offers a repertoire of (mostly) commercial products, one of their services is a free subscription to a limited amount of weather data, say a ‘teaser’. One can obtain a free API, capped to a generous 60 calls per minute or a one million calls per month. Perfect for the hobbyist.
The document received after a WiFI connection has been established and connection has been made with the OpenWeatherMap server, is a string in JSON notation. In my case for instance:
JSON object = {“coord”:{“lon”:4.4931,”lat”:52.1583},”weather”:[{“id”:804,”main”:”Clouds”,”description”:”overcast clouds”,”icon”:”04d”}],”base”:”stations”,”main”:{“temp”:279.47,”feels_like”:277.62,”temp_min”:278.71,”temp_max”:279.82,”pressure”:1024,”humidity”:88},”visibility”:10000,”wind”:{“speed”:0.89,”deg”:325,”gust”:1.34},”clouds”:{“all”:100},”dt”:1615904762,”sys”:{“type”:3,”id”:2009098,”country”:”NL”,”sunrise”:1615874031,”sunset”:1615916851},”timezone”:3600,”id”:2751773,”name”:”Leiden”,”cod”:200}
Whereas the ESP32- ILI9341-SPI combination is perfectly served by the TFT_eSPI.h library created by Bodmer, support for ESP8266 microcontrollers and ILI9341-SPI is limited. The current sketch therefore leans on the Adafruit_GFX.h and Adafruit_ILI9341.h liraries. There are minor differences between the instructions used in TFT_eSPI.h and the Adafruit libraries.
In order to make it possible to move an entire panel from one end of the display to another position, all graphical items are positioned relative to the x-y coordinates of the upper left corner of that panel. This is exemplified with the barometer panel instructions. There are two functions involved here: a function that ‘builds’ static content of the barometer panel and a dynamic function that refreshes the barometric panel every time that a new JSON string is received from the OpenWeatherMap server. The comment lines are removed here to save space.
Graphical libraries such as Adafruit_GFX.h offer functions to produce filled circles, rectanges and triangles while such an instruction as tft.fillPolygon is not available. A way to nevertheless create a filled polygon is do some creative programming with triangles. This trick is used here (and in Bodmer’s Rainbow Gauge as well): four points that define two triangles (figure 5):
And ready is the barometric pressure panel. Every cycle of the weather station program the essential components of the panel need to be refreshed: red circle and blue ‘fill’. For this purpose I have composed a function ‘refresh_dynamic_baropanel ():
One of the variables provided by the OpenWeatherMaps JSON string are the minimum and maximumn temperatures measured locally. These data inspired me to include a min-max thermometer in the weather station. The ‘mercury level’ in the thermometer graphics consists of a fixed red circle and is a rectangle whose upper edge (the ‘level’) is coupled to the reported maximum temperature. Minimum tenperature is fixed to avoid negative values for the ‘fill’ function.

Welcome to my new Weather Widget Project. Earlier I have posted an Instructables on the weather widget, that uses a 0.96″ OLED display to display the weather parameters. The main problem in the earlier version is that the display is very small in size, so you have to come very close to it for reading the parameters. That’s why it was always in my mind to upgrade it to a larger color display with a nice 3D printed enclosure.
In this post, I will show you how to make a Weather Widget by using ESP8266 and a 2.8″ touch screen display. The device retrieves localized weather information from https://openweathermap.org/ by WLAN and displays it on the Display module.
I would like to give credit to my friend Dani Eichhorn who did all of the programming parts. He is updating the software on hisGithub pageregularly with new features. You can visitSquixTechBlogto see more projects on ESP8266.
My plan is to place the weather display circuit inside a 3D-printed enclosure. But the enclosure that I am going to use is very compact, and there is little room to keep the Wemos board along with the connecting wires inside the housing.
The wiring diagram is very straightforward. You have to connect the TFT display module ( ILI9341 ) pins with Wemos pins as per the schematic diagram. The schematic diagram is shown above. You may also follow the following pin mapping
2. Enter https://arduino.esp8266.com/stable/package_esp826… into the File>Preferences>Additional Boards Manager URLs field of the Arduino IDE. You can add multiple URLs, separating them with commas.
After setting up Arduino IDE and installing all the libraries we can move to upload the code into the ESP8266 board ( Wemos D1 Mini Pro or any other board )
First, you have to unzip the code downloaded in the earlier step and then save it somewhere on your PC or Laptop. Remove the word master from the folder name, the final name shall be ” esp8266-weather-station-color ”
In one of the tabs, the IDE opened settings.h. Go through the file and adjust the two handfuls of configuration parameters. They are all documented inside the file directly. Everything should be self-explanatory. Most importantly you will need to set the OpenWeatherMap API key you obtained in a previous step.
If you are successfully uploaded the code into the ESP8266, you will immediately notice the display on the front page by searching the WiFi Network for connection. After connecting the device to your WiFi router, it will update the time and weather data from the web.
Now you will be able to see all the weather information along with all other parameters on the TFT display. You can swap between the different pages by using the stylus or touching with your finger.

The device is based on Adafruit"s Feather Huzzah esp8266 and the 2.4" TFT Feather Wing. The enclosure is desigen using Fusion360 and cut out of birchwood using a 140W laser.
This whole project is based on adafruit"s guide which you can find here https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/using-arduino-ide, my only improvement beign the wooden enclosure.

In this project we’ll show you how to make a WiFi enabled, portable Weather Station using an ESP8266. The software, written by Daniel Eichhorn, uses the Wunderground API to pull weather data. It shows the date, time, current weather conditions, 4-day forecast and even moon phases. The user interface features lovely typography and icons that makes really a clean layout. The 2.4” TFT Feather Wing combined with the Adafruit Feather HUZZAH ESP8266 make assembling this project incredibly easy.
Ms.Josey
Ms.Josey