esp8266 tft lcd weather station free sample

As you all know the are a few variants of the 1.8" TFT on the internet. With the genuine Adafruit lcd-s there are usually no problems. But when using fake ones(usually from Aliexpress) you have to make some adjustments.

Bodmers TFT_eSPI library is very awsome and rich funcionality. And the best part is that he made it to handle the pixel offsets depending on wich kind of 1.8" TFT you are using.

Then uncomment the tft height an width. And then in my case(REDTAB) uncomment for eg: #define ST7735_REDTAB. After this save it for the moment and compile sketch and upload to board. To be sure i have defined the parameters in the sketch too.This is a bit long procedure, cause you have to compile and upload the sketch every time to board untill the offset is gone, but it is worth the experimenting. For editing the h. files i strongly suggest Wordpad. Images included.

esp8266 tft lcd weather station free sample

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).

esp8266 tft lcd weather station free sample

The code in this project supports an ILI9341 240x320 TFT display with code running on an ESP8266. To get you up and running in no time we created a kit which contains all the necessary parts including a custom PCB to connect display and WiFi chip:

esp8266 tft lcd weather station free sample

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

esp8266 tft lcd weather station free sample

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.

esp8266 tft lcd weather station free sample

This is a continuation from my priorWIoT weather station. I decided to upgrade to a Nextion TFT LCD due to issues I was having with SPI comms between the Adafruit Huzzah ESP8266 and the RA8875 Controller. After some research I discovered that this is a common issue with the ESP8266 and SPI communications.

I came across the Nextion display over a year or so ago during their Indiegogo campaign. I decided to pass it by as there was not enough information at the time. In hindsight I regret that decision. Itead hit the nail on the head with this display as far as I am concerned. It uses simple serial commands to communicate between the MCU and the display – which is perfect for my needs. They also use a HMI editor (below) that allows you to layout all the elements on the TFT, and setup the display using pages etc. Refresh rates are fast as well. An example of the simplicity. To change the icon of one of the days, you issue “pDay1Icon=6” from the MCU.

There are many otheradvanced featuresof the Nextion that I won’t get into here as this is not the purpose of this post. With that, onto details about my WIoT-2 project. As with my prior project the intent was the following:Display current and forecast weather information. This time around, I used th Weather Underground API to pull both current and forecast data in JSON format. (OpenWeatherMap.org, andas well)

Display weather data that I generate outside my house via another ESP unit. It polls temp, humidity and battery info (it’s solar powered) – Integrated with Blynk

esp8266 tft lcd weather station free sample

Observation, you could pull the weather icons from the Weatherunderground server rather than host them yourself. I think they do-not apply any read quotas.

im trying this one as i have the exact LCD lying around. i saw the “settings.h” where values need to be changed. (i.e. wundeground API, country, city, etc).. the only one that i was not sure and I did not see any explanation was the ThingSpeak value.

The purpose of the Thingspeak channel is to display (say) your own local temperature and humidity. So I have an ESP8266 and BME280 sensor running that reports every 10-mins to thingspeak the current temperature and humidity in my garden. Therefore I provide the keys for my channel and it gets reported on the weather display. Ideally there would be a software (compile time) switch to remove that option.

today I received an email about WU stopping their API Service. I am afraid this affects also the weather station colour – are there any plans to keep the gadgets running?

C:\Users\Jens\Documents\Arduino\libraries\esp8266-weather-station-color-master/WebResource.h:25:31: fatal error: ESP8266HTTPClient.h: No such file or directory

Unfortunately Banggood.com are no longer stocking the 2.2 Inch Serial TFT SPI Display ILI9341 display! Can it be obtained from another supplier? Or can an alternative be used?

I am having a lot of success and fun with these: https://www.aliexpress.com/item/240×320-2-4-SPI-TFT-LCD-Touch-Panel-Serial-Port-Module-with-PBC-ILI9341-3-3V/2031268807.html

Dani, excellent! Built this over the weekend (preparing to teach another IoT class this week) and almost worked flawlessly (2.4″ TFT + Wemos D1 Mini). Couldn’t get the WifiManager to connect, tried a few different things then finally went manual mode. The 199: timeClient.updateTime(); would sometimes hang, changed the .h to use “us.pool.ntp.org” instead; didn’t do a lot of troubleshooting, was more in quick-fix mode. Maybe later this month I’ll try incorporating Neptune’s daylight savings code back into this (thanks btw for the link to that). PS will try to get some pictures with the kids doing projects over the session the next two weeks. Regards, Mike

It is so great to hear that you use my code to teach kids. Also have a look at Keith Fowlwer’s code (a few comments up): https://github.com/fowlerk/ESP8266-Color-Weather-Station-v8

I’ve been adding some of my own enhancements to your original code for several weeks now, and thought I’d share some of my changes in case anyone was interested. I’ve posted these on GitHub if you’re interested…https://github.com/fowlerk/ESP8266-Color-Weather-Station-v8 .

Dani…I don’t mind at all, in fact I’m honored. One thing to note, which I pointed out in the README on the repo, is that I have added a few fields over the past few months that may (or may not) have made it into the Weather Station library for the Weather Underground functions. Not sure how exactly to go about getting those into the master. (You may even be able to spot these on some of the displays.) I did not put those library changes up on the repo.

Hey Dani and Keith, I just tried this out a few days ago and love it. Just wanted to confirm that when I tried to use Keiths’ version, it failed to compile due to the changes in the Weather_Station library. I would really like to try out this version if one of you could point me at the correct library.

Kevin…yes, sorry, I knew that would bite someone. I really wanted to get the changes merged into Dani’s master library rather than start off on another branch. In the interim, I have uploaded the two changed library files for the Weather Underground components to a separate folder on the repo if you want to download those to (temporarily) replace the original ones in the Weather Station library. That should allow it to compile. Let me know if that doesn’t work for you. Hopefully I’ll figure out the right (permanent) solution to address the changes soon.

Dani…just made a pull request on your repository to add some of the changes I had made to your Weather Underground library. Let me know if you have questions or issues.

Dani, I just made another pull request for some new updates to the Weather Underground client library. These include changes to support some additional enhancements I have been working on recently that display weather alerts (as per the WU API call “/alerts”), as well as the addition of probability of precipitation (PoP). I have uploaded a new version to my repository on GitHub that shows these additional enhancements (see the README for further details), along with screenshots.

If anyone should want to try out the weather alerts additions prior to the library changes getting merged into the master, I have uploaded the changes to my distro on GitHub here: https://github.com/fowlerk/ESP8266-Color-Weather-Station-v8; take a look at the v9 folder for the enhancements that use the new library changes. I have also updated the README with information on these changes.

Hi Daniel. I don’t like the Ardunid IDE because of the lack of debugging with breakpoints. Therefore, I’ve just started with VisualGDB and JLink debugger and ESP8266. I have quite some difficulties.

I have been having a lot of fun working through the examples with your weatherstation library. I bought your kit, which was an easy way to get started with the ESP8266.

I am working through the WeatherStationDemoExtendedDST, for some reason updateData is not firing every 10 minutes. updateDHT is working fine, fires every minute.

I have problems getting it to run with Arduino 1.8.1, esp8266 2.3.0 board plugin and an SPI display. I have to slow down SPI to 250 kHz, otherwise I get all but pixel trash. But when I set OLEDDISPLAY_REDUCE_MEMORY I get a blank screen.

I am a bit confused: which project are you referring to? The OLED Weather station or the color weather station which uses an TFT? Since you posted this in a Color Weather Station post I assume you are referring to the color code? But why then use the OLEDDISPLAY_REDUCE_MEMORY? Can you share a gist which shows your ino file?

I am having problems with the Weather Station. First screen (time) works well. Second screen says “N/A C”, Third scrren shows N/As, Fourth screen (temp, humid) works well. I have tried installing the latest github code and it doesnt solved the problem. Any tips?

I have bought the Weather Station on Amazon. It came with a DHT11 in a board with a pull up resitor. I am following the pdf with instructions. When pluging this board, the figure at the pdf looks like inverted. My litthe dht board is (from left to right): data, vcc, gnd. It took me a while to figure out this. Also, by printing the read temp and humid values, I saw half of them come as nan. Any tip for improving this?

One small tweak to “settings.h” in the esp8266-weather-station-color-master code. It asks for a city, but my city has half a dozen ZMX codes at weather underground. Through experimentation, I found that you can just put the ZMX code in place of the city name, and it works.

BTW, your getting started guide for the old weather station is very nice for arduino and nodemcu beginners. However, the examples there (and also the examples you supply for the arduino IDE) don’t work with a ILI9341 display. For a while I was afraid I had some bad soldering, but when I ran esp8266-weather-station-color-master, the display lit right up as expected/

I have a couple of 2.8 TFT displays I have been trying to update to the new Color Weatherstation code. They don’t register the touch, and just flip through the screens every 500ms, like they are constantly being touched.

I just built the color weather station and luckily got it running the first time, it’s very nice. If you touch the screen the time changes back and forth between 24h and 12h display. Nice. But the only issue I’m seeing is the day scrolling shows MON TUE WED, pauses, then shows FRI SAT SUN. Thursday does not show up. Odd. Any ideas?

Hi, I tried buidling this kit and everyting seemed fine until i programmed the Wemos d1. It shows everything on the screen except the weather it shows symbols with ? in it. I have tried everyting switching api, reinstaling libaries and i even tested an example of wunderground but it just doesnt show any data, do you have any idea what could have gone wrong?

Hi, I started trying to build this out only to discover that WeatherUnderground no longer provides (free) API Keys. Any plans to change this to work with another service, or suggestions to work around?

Yes, we are working on a replacement, using the OpenWeatherMap API. Please read more here: https://thingpulse.com/weather-underground-no-longer-providing-free-api-keys/

Sadly, the replacement is not quite ready yet. If you are feeling adventurous though you can have a look at the latest (unreleased) development version of the WeatherStation library: https://github.com/ThingPulse/esp8266-weather-station. There are some new files for Wonderground.

Archiving built core (caching) in: /var/folders/74/5k206y1s32z81gtj5zjbq1lh0000gn/T/arduino_cache_214867/core/core_esp8266_esp8266_d1_mini_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_de75e1f93600d33876e4f457693bf095.a

libraries/esp8266-weather-station/OpenWeatherMapForecast.cpp.o:(.text._ZN22OpenWeatherMapForecast5valueE6String+0x9e): undefined reference to `gmtime’

today I received an email about WU stopping their API Service. I am afraid this affects also the weather station colour – are there any plans to keep the gadgets running?

It looks great, but it’s just a home weather station. If you really want to be brave in outdoor weather monitoring, you need to consider a lot of factors, such as waterproof, low power consumption, wireless communication, high precision, background monitoring, etc. I believe this website can let you know more about the weather station.

My TFT just refreshes. I really don’t know what to do. I bought this kit and assembled it a few years ago and it worked great until WU decided to yank the API for personal use.

If anyone out there in Arduino Land can help I would appreciate it very much. I even built an outdoor weather station that is recharged by a Solar Panel. So I am new but not brand new. Just still learning..

I just built the color weather station and am having the same connecting problem: continuing refreshing screen showing connecting … but never connects. Changed the setting.h file to “us.pool.ntp.org” and rolled back the ESP8266 board manager to version 2.5.0. No change. Still in endless connecting loop. Any help?

esp8266 tft lcd weather station free sample

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.

esp8266 tft lcd weather station free sample

This tutorial shows how to use the I2C LCD (Liquid Crystal Display) with the ESP32 using Arduino IDE. We’ll show you how to wire the display, install the library and try sample code to write text on the LCD: static text, and scroll long messages. You can also use this guide with the ESP8266.

Additionally, it comes with a built-in potentiometer you can use to adjust the contrast between the background and the characters on the LCD. On a “regular” LCD you need to add a potentiometer to the circuit to adjust the contrast.

Before displaying text on the LCD, you need to find the LCD I2C address. With the LCD properly wired to the ESP32, upload the following I2C Scanner sketch.

Displaying static text on the LCD is very simple. All you have to do is select where you want the characters to be displayed on the screen, and then send the message to the display.

The next two lines set the number of columns and rows of your LCD display. If you’re using a display with another size, you should modify those variables.

Scrolling text on the LCD is specially useful when you want to display messages longer than 16 characters. The library comes with built-in functions that allows you to scroll text. However, many people experience problems with those functions because:

In a 16×2 LCD there are 32 blocks where you can display characters. Each block is made out of 5×8 tiny pixels. You can display custom characters by defining the state of each tiny pixel. For that, you can create a byte variable to hold  the state of each pixel.

In summary, in this tutorial we’ve shown you how to use an I2C LCD display with the ESP32/ESP8266 with Arduino IDE: how to display static text, scrolling text and custom characters. This tutorial also works with the Arduino board, you just need to change the pin assignment to use the Arduino I2C pins.

esp8266 tft lcd weather station free sample

Welcome to my new Weather Widget Project. Earlier I have posted an article 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 his Github page regularly with new features. You can visit SquixTechBlog to 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. Enterhttps://arduino.esp8266.com/stable/package_esp8266com_index.json 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.

esp8266 tft lcd weather station free sample

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.

esp8266 tft lcd weather station free sample

In the previous article, I used the OLED kit from https://blog.squix.org. And as promised, this time, it is about the ESP8266 Wi-Fi Color Display Kit:

I had ordered both because I thought that the color display kit needed 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. As 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. The code is very well-documented. I had no issues making all the needed configurations (Wi-Fi 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 Wi-Fi weather station with Touch LCD. It is looking good and I very much enjoy it. The design is available on Thingiverse.

esp8266 tft lcd weather station free sample

In this tutorial we will see how to make your own weather station using ESP8266. ESP8266 weather station will update current temperature in degree Celsius and Fahrenheit and also update humidity in every one second. It will update sensor value automatically without refreshing your web page. Web page has custom CSS to style the page with some cool icons which make more sense to sensor data. So, let’s get started.

After uploading code, Open Serial monitor to find out ESP8266 local IP address. If you can’t see IP address (Only temperature and humidity reading which it printing in every one second). Press reset button on ESP8266. Now you will able see it. For example 192.168.0.105

I hope you will like the ESP8266 IoT Project where you don’t need to refresh web page to update sensor data. Subscribe my YouTube channel for more updates.

esp8266 tft lcd weather station free sample

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...