WiFi TFT Touch LCD Weather Station with ESP8266

After the “WiFi OLED Mini Weather Station with ESP8266“, here is another one: this time with Touch LCD :-):

LCD Weatherstation with ESP8266

LCD Weatherstation with ESP8266

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”:

Squix ESP8266 Weather Station Kits

Squix ESP8266 Weather Station Kits

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.

As the OLED kit, everything comes in a nice box, professionally packed in ESD bags:

ESP8266 WiFi Color Display Kit Content

ESP8266 WiFi Color Display Kit Content

  • ESP8266 Wemos D1 Mini pro 160 MHz with 16 MByte FLASH
  • 2.4″ Color TFT Display (ILI9341) with touch
  • Connector PCB
  • Micro USB cable
  • Stacking headers

This time assembling the kit needs basic soldering skills. With the excellent tutorial by Daniel EichhornĀ  (https://blog.squix.org/wifi-color-display-kit) this should be a piece of cake. The only consideration is what kind of headers to use. I opted for the ‘larger but flexible’ approach. That way I can separate the boards if needed.

Stacked Boards

Stacked Boards

Again I designed quickly a custom enclosure in Inkscape using 4 mm plywood:

ESP8266 Weather Station Enclusure in Inkscape

ESP8266 Weather Station Enclusure in Inkscape

Custom Enclosure for the ESP8266 WiFi station

Custom Enclosure for the ESP8266 WiFi station

It has enough space so I can add sensors, LiPo battery plus a wireless charing option:

Boards inside Enclosure

Boards inside Enclosure

Enclosure Design

Enclosure Design

Enclosure Side View

Enclosure Side View

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:

Updating forecasts...

Updating forecasts…

ESP8266 Weather Station

ESP8266 Weather Station

The example code pretty much works the same way as for the smaller OLED station, but it uses the touch display to show the data.

Touching the LCD cycles through more screens:

ESP8266 Weather Station Current Conditions

ESP8266 Weather Station Current Conditions

Forecasts

Forecasts

status display

status display

I have been experimenting painting the laser cut plywood with acrylic colors. So here is one variant using a brown color:

Brown Enclosure

Brown Enclosure

Painted Enclosure

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

Thanks go to Daniel Eichhorn for making that kit available and documenting it so well!

Happy Squixing šŸ™‚

Links

37 thoughts on “WiFi TFT Touch LCD Weather Station with ESP8266

  1. I’m loving the side panels for your enclosure, using the vents slots so they can curve — nice touch!

    How do you make those curves conform to the curves of the front and rear panels? Hot melt glue and luck?

    Like

    • PMMA is another material I use (https://en.wikipedia.org/wiki/Poly(methyl_methacrylate)), but I think that would not stand a UL94-V0 test?
      I’m sure there might be other materials, but with a laser cutter one has to be careful about not using materials which could create a health issue (e.g. PVC would be such a problematic thing).
      That’s why usually only plywood, PMMA or (real) leather or paper/cardboxes are used in a low power laser cutters. Of course with high power laser cutter you could cut metal sheets.

      Like

  2. A very cool box telling you the things you want to know before leaving the house. Because you are commuting with puplic transport: Why not add a screen whoose telling you the next train/bus departures. ƖV-live offers you an already implented live view.

    Like

  3. Pingback: SQUIX ESP8266 based E-Paper WiFi Weather Station | MCU on Eclipse

    • Yes. Well, then you don’t have the touch functionality. Touch is used to cycle between different views, so you could cycle through the displays without the touch functionality, e.g. at a fixed rate or using a push button.

      Like

  4. Erich, Thanks for making this available!
    I have assembled my SQUIX kit as well, but it is much thinner than yours, about 0.3″ from the back of the faceplate to the back of the top PCB. I’m able to reuse your front and back, but I’ll have to change the kerf-wrap.

    A few questions, if you don’t mind: How did you design the outline? In inkscape, I can move the kerf cuts, but the outline is fixed, which means I cannot make it narrower. Is there some easy way to turn it back into lines?

    Also, how did you calculate the length for all of the segments?

    thanks,
    todd

    Like

    • Hi todd,
      I have used headers for my PCB assembly, so this might add to the thickness change you see.
      You can move the outline in Inkscape: make sure you have it ungrouped first (select, Object > Ungroup).
      I did not calculate the length of the segments, it was simply trial-and-error (took me 3 iterations, so not that bad).

      Like


  5. 2.4 Inch TFT LCD Shield ILI9341

    ESP32
    Is there a tft screen connection diagram with esp32? esp32 and 2.4 Inch TFT LCD Shield Would you help with the weather?

    Like

  6. Hallo,
    Ich wollte dieses Tutorial nachbauen und stoƟe leider auf Probleme. Ich verwende als Hardware:
    – WeMos D1 mini pro
    – TFT ILI9341

    Das Kompilieren und Hochladen der Software von Daniel Eichhorn funktioniert fehlerfrei und der Wemos verbindet sich auch mit meinem WLan, dessen Daten ich in der setting.h zusammen mit meinen lokalen Daten und der OpenWeatherMaps-ID eingetragen habe. In der IDE habe ich das WeMos Di mini pro als Board ausgewƤhlt.
    Dann kommt das Problem nach dem Start des Sketches: Fehlermeldung “ISR not in IRAM!”
    Da ich AnfƤnger bin, sagt mir dieses nichts. Was kann ich machen?

    GruƟ Ulli

    Like

  7. Ich habe gerade gesehen, dass ich im Boardmanager die core 2.5.2 fĆ¼r esp8266 installiert habe.
    Nun habe ich die Version 2.4.2 installiert und im seriell monitor erscheint:

    Connecting to WiFi UE/73918465865812313454
    …………………Connected…Initializing touch screen…
    Mounting file system…
    SPIFFS opened: OK

    Current time: 1560039543

    DST Rules Updated:
    DST Start: Sun Mar 31 02:00:00 2019
    DST End: Sun Oct 27 02:00:00 2019

    Time difference for DST: 7200
    Getting url: http://api.openweathermap.org/data/2.5/weather?id=2950159&appid=ba292706b743a353f4c62eef4fea76b8&units=metric&lang=DE
    [HTTP] GET…
    [HTTP] GET… code: 200
    start document
    Getting url: http://api.openweathermap.org/data/2.5/forecast?id=2950159&appid=ba292706b743a353f4c62eef4fea76b8&units=metric&lang=DE
    [HTTP] GET…
    [HTTP] GET… code: 200
    start document
    Free mem: 19808

    Leider sehe ich auf dem ILI9341 TFT nicht die Wetterdaten. Woran kƶnnte dieses liegen?

    Like

  8. Hi, strange think happened to me, yesterday the touch was working, today I installed again and I have no touch. What Had happened, did I installed the wrong code?

    Like

  9. How did you change the code to get a daily forecast instead of the hourly default of every 12 hours? I see line 308 in the .ino has the following line that can be modified to change which hours are included in the hourly forecasts, but would prefer daily with high/low temperatures like it looks like you achieved.
    uint8_t allowedHours[] = {12, 0};

    Liked by 1 person

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.