esp8266 tft lcd weather station brands

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 brands

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.

esp8266 tft lcd weather station brands

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.

esp8266 tft lcd weather station brands

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 brands

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 brands

ESP8266/ESP32 Weather Station With TFT LCD(s): Hello! In this short instructable i would like present my second Esp8266 WS project. Since i posted my first ESP project i wanted ...

esp8266 tft lcd weather station brands

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 brands

Frequently Asked Questions About MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station in Mongolia

Where can I buy MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station online at the best price in the Mongolia?

desertcart is the best online shopping platform where you can buy MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station from renowned brand(s). desertcart delivers the most unique and largest selection of products from across the world especially from the US, UK and India at best prices and the fastest delivery time.

Is MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station available and ready for delivery in Mongolia?

desertcart ships the MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station to and more cities in Mongolia. Get unlimited free shipping in 164+ countries with desertcart Plus membership. We can deliver the MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station speedily without the hassle of shipping, customs or duties.

Does desertcart have 100% authentic MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station online?

desertcart buys MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station directly from the authorized agents and verifies the authenticity of all the products. We have a dedicated team who specialize in quality control and efficient delivery. We also provide a free 14 days return policy along with 24/7 customer support experience.

Is it safe to buy MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station on desertcart?

Yes, it is absolutely safe to buy MICROYUM NodeMcu Esp8266 Color Display Basic Starter Kit with esp-12E & 2.0 inch SPI Color TFT Display Screen for Iot Weather Station from desertcart, which is a 100% legitimate site operating in 164 countries. Since 2014, desertcart has been delivering a wide range of products to customers and fulfilling their desires. You will find several positive reviews by desertcart customers on portals like Trustpilot, etc. The website uses an HTTPS system to safeguard all customers and protect financial details and transactions done online. The company uses the latest upgraded technologies and software systems to ensure a fair and safe shopping experience for all customers. Your details are highly secure and guarded by the company using encryption and other latest softwares and technologies.

esp8266 tft lcd weather station brands

I already have to weather stations going, ThingPulse and Zihatec. The Zihatec weatherstation has the same uM as what I am using for your sketch and works fine. Do not know how to send you an image.

esp8266 tft lcd weather station brands

A couple of years ago I purchased esp8266, a cheap Wi-Fi chip with full TCP/IP stack and micro controller capability manufactured by Espressif. My idea was to build something useful for my home using this controller. Such features as Wi-Fi connectivity, small size, enough inputs / outputs and ease of programming make esp8266 a perfect controller for enabling home automation. I eventually decided to build a home weather station.

For software development I chose a simple PHP + MySQL stack based on Raspberry PI and deployed to home server. Its advantage over Cloud services is system stability in case of black-out or disconnection. Although I had to program back-end for data storage and processing, I was excited to do so! Arduino IDE fitted with an esp8266 module was chosen as a programming environment, check out details here.

My plan A was to program everything in Lua (nodemcu), but I had to refuse from it because I"d run out of memory each time I uploaded sketches. For data exchange between Raspberry and my weather station I chose JSON.

Right now I"m waiting to receive MHT-Z19 CO2 sensor to monitor CO2 level in the air (indoor and outdoor). Once I"ve got it, I"m going to extend weather parameters I"m tracking at home.

I used responsive design to control my weather station remotely from a smartphone. Built-in pages don"t have any external dependencies, all styles and scrips are being stored in modules memory.

esp8266 tft lcd weather station brands

We were playing around already with LED MATRIX’s, devices to visualize measured values and/or texts. In this blog post (Tutorial) we will use a TFT Display (Thin-film-transistor liquid-crystal display) with touch screen to display a three (3) days weather forecast with moon phases. This little weather station acquires its data over a Wi-Fi connection from an online weather server,

We will use devices from ADAFRUIT; they have developed a special product series for easy mounting, the FEATHER series. We need the TFT FeatherWing – 2.4″ 320×240 Touchscreenand theADAFRUIT Feather HUZZAHwhich has included anESP8266.We used theESP8266already in our previous blog post<===><===> so we are already familiar with its use!

There is some preparation needed before we can test our code for the weather station: I suggest that you read and that you follow each step as shown in this tutorial by ADAFRUIT (very important, otherwise it won’t work!!):

When it doesn’t work, you won’t GET an internet connection, thus meaning that you see on the screen “Internet Connection” for a loooong time, without that the weather data gets shown, you didn’t follow step by step the instructions!! Check our previous blog post (Tutorial) on How-To let the NEW device GET access to your Network:

Keywords necessary for me to create this project:Adafruit Feather HUZZAH, ESP8266, Adafruit Feather TFT Display, 3 days weather station, weather forecast, moon phases, Wunderground, Wi-Fi module, ESP8266 and Adafruit Feather HUZZAH NOT the same pinout!!, where to buy?, time zone, metric, imperial, °C, °F, Arduino IDE, web server, weather server,

esp8266 tft lcd weather station brands

An ESP8266/Arduino receives a UDP multicast packet broadcast by a Network Owl and displays the (XML) data on an ILI9341 TFT display, using a graph that auto scales, it also displays the time that the UDP packet was received.

An ESP8266 is used to send an HTML data request to the NOAA weather server and display the resultant weather information on a ILI9341 TFT display. The software decodes the METAR transmission and converts the codes to plain text.

An Adafruit TFT 2.2″ 320×240 display and some short Arduino code is used to simulate an analogue meter. I measure the voltage applied to the A0 pin, scale it then display on the meter. The meter needle has an arrow top drawn using a simple equation. Refresh rate in the video is 250mS per needle update, but it can be reduced to 0mS delay, giving near instant response time.

An ESP8266 (or Arduino) reads temperature and humidity from a DHT22 sensor and plots the data on two graphs. Both graphs auto-scale. The graphs can be set for bar chart or line mode. The maximum and minimum values together with current values are also displayed.

An ESP8266 – a WEMOS D1 Mini has been programmed to act as a Web Server. Three Wemos shields are used a MicroSD, DHT11 temperature and humidity sensor and a relay. The web server can control via an HTML Web Page the LED and relay and display files on the SD Card together with displaying temperature and humidity.

An ESP8266 is programmed as a Webserver and delivers temperature, humidity and pressure plus Heat Index and Dew Point values as a web page to any connecting client all derived from a BOSCH BME280 sensor. Whilst connected the client gets a reading update every 15-secs.

Using an ESP8266 to display the current time from the NTP servers, thereby enabling accurate time to be maintained. The display is an OLED 64×48 pixel unit (shield) by WEMOS, making for a compact time source. The Ticker library is used to update the display every second and every minute the NTP time is refreshed to keep the unit in line with the NTP refresh rate allowed (once per minute maximum). The Wi-Fi Manager enables the ESP to connect to any network and it saves Wi-Fi credentials on the ESP8266 for use next time.

An ESP8266 (WEMOS D1 mini) is connected to an HMC5883 compass and the resultant heading is displayed on an OLED (64×48 pixel) display. A code walk-through is also provided.

Using an ESP8266 and ILI9341 TFT display to show readings from 6 of the most popular and accurate temperature and humidity sensing devices in a bid to determine which is best.

An explanation with code examples and wiring diagrams of how to read multiple DHT Sensors using an Arduino or ESP8266 complete with code walk-through for each stage.

An explanation of the ESP8266 SD Card reading and writing commands together with file handling commands. A complete walk-through of each command then some example code, a wiring diagram and an illustration of the code running.

Using interrupts is a powerful programming technique and not that complicated to set-up. In my example here I flash the on-board LED every second and then drive a Neopixel ring whilst decoding weather METARS (see link below for code).

Using an ESP8266 to create a tempistat (thermostat) and humidistat and graphing the current values as they are updated. Two outputs are used to switch LED@s on/off but could be controllers for heat or cooling.

An ESP8266 is configured as a webserver using the Wi-Fi Manager to read and log temperature and humidity from an SHT30-D WemoS shield and then displays the results using Google Charts. The unit is totally self-contained and apart from google charts requires no other access to external sites like MQTT or Thingspeak. Data is recorded to an SD-Car if fitted. It recovers data from the SD-Card in the event of power failure and a restart and does this contiguously. The log file can be checked for size, erased and streamed out to a web browser for copy/paste into a spreadsheet. The scale of the axis can be varied as required.

An ESP8266 running as a webserver and Client connect and how to receive data from the Client. This video explains the process and sequence of events leading to a Client connection and how data or commands are moved as arguments on the browser address line to the ESP8266 server-side environment where they can be acted upon. Examples are given in the code walk-through.

Autonomous graphing data logger. NOTE: Uses Wi-Fi Manager so if you get no network connection, connect your browser to 192.168.4.1 and follow the instructions, then connect back to your normal network. You can use the code without a sensor or SD Card fitted to see the principles of its operation. Clearly it won’t log or display any data though, just all zeros’! An ESP8266 configured as a webserver using the Wi-Fi Manager to read and log temperature and humidity from a variety of sensors using the WemoS shields and then displays the results using Google Charts. Any ESP8266 can be used. There are four versions so-far using: 1. BOSCH BME280 to display temperature, humidity, dewpoint and pressure 2. SHT30-D to display temperature, humidity, dewpoint 3. DHT22 to display temperature, humidity, dewpoint 4. DHT11 to display temperature, humidity, dewpoint. The design gives a totally self-contained and apart from google charts, it requires no other access to external sites like MQTT or Thingspeak. Data is recorded to an SD-Card if fitted. It recovers data from the SD-Card in the event of power failure or a restart and does this contiguously. The log file can be checked for size, erased and streamed out to a web browser for copy/paste into a spreadsheet. The scale of the y-axis can be varied as required. BEWARE: As Google notes in their documentation, implementation of Google Charts is highly complex, if you modify the code, don’t be surprised if it stops working, this code is the culmination of my extensive studies into the use of Google Charts through their documentation and then my careful implementation and it also requires the correct use of the ESP8266 server functions. Some functions may seem superfluous but they are not. Any adjustment of the HTML code or attributes other than simple colour or font size changes is likely to make the code non-operational.

An ESP8266 (WeMos D1 Mini or WeMos D1 Pro or NodeMCU or any other ESP8266) configured as a webserver that displays Weather Underground weather data for your chosen location.

An extension of TN0027 showing the result when pages have HTML or Images or HTML5 embedded images. You could construct an autonomous weather webserver using HTLM5 weather icons for example.

Using the SPI Flash File System on the ESP8266 in-place of the SD-Card hardware based system. In most instances the implementation of SPIFFS is straightforward and relatively easy to do.

Using an ESP8266 to make a Secure Socket Layer connection to a server. The video gives some basic examples of the connections and shows the minimal changes required to make an SSL Connection.

An ESP8266 is used to display my YouTube Channel Statistics using SSL, then it uses the standard Time library to display time on a 4x8x8 MAX7219 LED matrix.

Connect an ESP8266 to a MAX7219 4 segment 8×8 display and you have a message board or in this example a clock with time derived from the Network Time Protocol. The display can also be used to draw graphics like squares, triangles an circles.

TN0032 gave an introduction and practical implementation of SSL connections using the ClientSecure Library for Arduino and ESP8266, this nest part shows how to authenticate the link using pre-determined SSL Certificate values. Note SSL links do-not require you to authenticate certificates.

Demonstrates how to add the Upload Plugin to the IDE, where to create the ‘data’ folder for files to be uploaded, then demonstrates an upload. When completed files are available to ESP8266 programmes using SPIFFS.

Using an ESP8266 to download then decode Weather Underground JSON Strings from their API, then display a current and 3-day forecast including Sun and Moon rise and set times, including illumination levels.

An ESP8266 provides a webserver and single page 3-day weather forecast after querying the Weather Underground server using their Forecast API, data is decoded using the JSON library, then HTML codes are generated to be displayed on a webpage. Connect to the server to its designated IP address (provided by your Router) and use port 5000, although the port can be changed. Example http://192.68.0.51:5000/ Enter your city and country details, then click on Homepage. Alternatively change the port to 80 and connect like this: http:/192.168.0.51/homepage

I have ported my Weather Station code using a JSON decoder and implemented Daniel Eichhorn’s excellent driver for the SH1106 display chip, which enables scrolling frames to be used. I hope the video and code examples help you to implement his library using scrolling frames whilst providing (I think) a useful set of functions for time and weather display.

Compilers for the ESP32/ESP8266 can be directed to use either Hardware or Software implementations of the SPI bus. Currently the Arduino IDE has implemented the Espressif VSPI bus and this video demonstrates the speed advantage of implementing the hardware solution. The video contains examples and a more detailed look at the implementation.

Using sensors in an external environment is difficult, but a supplier (www.dfrobot.com) makes and supplies exceptional high quality units which I have obtained. Clearly built for all weathers the DS18B20 sensor is housed in a stainless steel encapsulation and the whole assembly can be ready to use in minutes, perfect. I have provided some code to try it out on an ESP32 here: https://github.com/G6EJD/ESP32-DS18B2… You can have multiple DS18B20 devices on the same bus and by reading their address determine temperature by location.

An ESP3 (or ESP8266) with a pressures sensor (BMP180/BME280) is being used to predict weather condition. It uses a comprehensive set of forecasting rules and displays an icon and text as the results.

Using an ESP32 or an ESP8266 as a Wi-Fi RSSI indicator that enables a site survey of relative signal strength to be conducted and then assist with solving poor Wi-Fi reception problems.

The video demonstrates the use of e-Paper/e-Ink displays that use the SPI Bus. It begins by demonstrating on a 4.2″ display and Weather Forecast data from Weather Underground, then it goes through the connections for an ESP32/EPS8266, then discusses library setup and then finally power-consumption (zero if disconnected) and typical battery duration using an ESP in sleep mode.

The ESP8266 is a more power efficient solution than the ESP32 for battery powered data logging, although the result is not as good as might be expected as it achieved 315-day battery life using a 3000-maHr battery verses the 213-days of the ESP32. This trial was a direct comparison with the ESP32 as shown in TN057. I conclude that conventional RF links still offer superior performance until the ESP8266 RF power can be reduced and whilst the function is available, it has no discernible effect on power consumption.

Confused about Arduino, ESP8266 and ESP32 pin maps on development boards, here’s how to find out what those pin labels mean and how they are mapped to GPIO pins. Also I show how to add your own pin definitions and change pins. Note: IDE no-longer supports this feature.

Choose either the ESP32 or ESP8266 version, enter your Wi-Fi SSID and Password and watch the display scrolling away as it shows you how many days, hours and mins there are to the big days.

In this project I use the Fast Fourier Transform algorithm to convert audio (in the time domain) back to its component frequency parts and then display the results as bands of amplitude and frequency on an OLED either 0.96″ or 1.3″. Choose the display you have by commenting out the library not required (Sh1106 for the 1.3″ OLED and SSD1306 for the 0.96″). Most ESP8266 development boards have a voltage divider on the audio input and may require a larger audio drive, by contrast most ESP32 development boards have no ADC input protection. For either board a microphone pre-amplifier is useful although direct audio connection can be used if required, but careful attention is required on the maximum drive and it should be de-coupled with a capacitor of say 10uF or greater. The ESP32 does not generally have a voltage divider and so needs less audio input, say 100mV, some experimentation is required with your audio source.

An ESP32 or ESP8266 and suitable sensor, in this example an SHT30 are paired together to provide a small data logger with a Webserver front end that enables settings to be adjusted and data to be graphed. Data logs can also be viewed and copied out for external analysis. Data is stored in flash memory.

An ESP32 or RESP8266 (the code will compile accordingly for your chosen platform) acts as a Web Server that displays the results of sensor (Clients) that upload data. The Client code for the example sensors will compile according to your board choice of ESP32 or ESP8266. You can test the server without any clients by typing the examples provided in the video or on Github.

After development using a ‘Development Board’ it is useful to transfer your programme/sketch to a bare ESP32/ESP8266 so that it uses the minimum of power and gives the best possible battery life, this video explains the relatively simple process required for programming, an activity that can seem to be quite daunting.

Using an ESP32 and an SPI connected e-Paper display enables a low-power weather display to be produced. It uses Weather Underground data and only requires a free API key to get the code running. All icons are drawn so no complicated bit-map icons are required and the software can easily be switched between Metric and Imperial units and time. Data on the top of the screen is all current, then a forecast section and Lunar data. The code makes only a single WU API call for all its data.

Using an ESP32 and an SPI connected e-Paper display enables a low-power weather display to be produced. It uses Weather Underground data and only requires a free API key to get the code running. All icons are drawn so no complicated bit-map icons are required and the software can easily be switched between Metric and Imperial units and time. Data on the top of the screen is all current, then a forecast section and Lunar data. The code makes only a single WU API call for all its data.

Using a 7.5″ e-Paper display to make a weather station. The extra space makes it much easier to display all of the available data from the Open-Weather-Map API.

he CCS811 Air Quality Monitor is an easy to I2C device than can be added to your weather station or used as an indoor air quality monitor there are no complicated algorithms. It measures CO2 and Volatile Organic Compound levels, measurements that indicate poor air quality if they climb.

It is easy to add gesture controls to your Arduino or ESP8266 or ESP32 projects using the PAJ7620. It supports up to 15 gestures and needs a simple I2C bus connection. You could add a function for servo controls left or right, or light on/off, in the example I show you how, the basic functions are already defined, so in my example when I swipe ‘right’ it called LED_right and so on, but you could use a function called Light-ON for example.

The relatively new Lolin 1.4″ TFT has 128×128 pixels for a screen size of 1.4″ square and supports 18-bit colour (262,144). It’s easy to use and plugs directly into a Wemos D1 Mini or MH-T Live D1 (ESP32) Mini.

The Lolin (new brand name for Wemos) D32 Pro is an updated version, now with on-board I2C and TFT connectors and a lower power UART, here’s an overview and comparison with the V1 board.