Introduction: Arduino TFT Forecast Weather Station With ESP8266

This project, builds on Wunderground weather forecast via the Internet.


1. 3 days weather forecast (Low&High temps, probably of precipitation, condition icons)

2. Current weather conditions (Current temp, feelslike temp, humidity, pressure)

3. Current wind directions & speed with analog gauge meter.

4. Indoor temperature with Dallas 18b20 Temperature sensor.

5. NTP time via Wunderground time server.

Step 1: Materials:

1. Arduino Mega 2560,

2. 7" inch TFT display (I used this display Ebay Link )

3. TFT/SD shield (I used this shield Ebay Link )

4. ESP8266 Serial WiFi module,

5. Logic level converter or use voltage divider. ( Sparkfun Link )

6. Dallas 18b20 one wire temperature sensor.

7. 40 pin Male to Female Ribbon cable (Ebay Link )

8. For 7" LCD case. Maybe use this or another case. (Ebay Link )

9. 256mb to 2gb(maximum) SD card for icon storage. (Must be FAT16 formatted).

10. 9v or 12v power supply or usb cable for power connection.

11. Some wires and soldering iron.

Step 2: Connections :

Connections we make, as shown in picture. After making the connections, we are installing a TFT/SD shield.

I use voltage divider instead of logic level converter. But I would definitely recommend using logic level converter.

Step 3: Lcd Brightness Control (If You Want to Skip This Step!)

CAUTION : May damage the TFT Screen. If you dont want to change the brightness, skip this step.

Remove the resistor of LED_A.

Connect cable as in the picture.

And connect Arduino pin 12 (must be connect PWM pin).

Step 4: Icon Files and Libraries

Necessary libraries :

Henning Karlsen UTFT Library - Link

Henning Karlsen TinyFat Library - Link

Henning Karlsen UTFT_TinyFat Library - Link

Time Library - Link

Timer Library - Link

OneWire Library - Link

Dallas Temperature Library - Link

ArduinoJson Library - Link

Unrar Icons.rar file and copy files to "SdCard" root folder.

Step 5: Sketch File Modifications

First of all edit sketch file for your information :

SSID "Your Ap Name" - For example SSID "Tufan_Home"

PASS "Your AP password" - For example PASS "1234567890"

LOCATION ID "Your location name" - For example LOCATION ID "England/London"

GMT Settings this line : "ntpTime = ((longConv) + 7200);" //7200 = +7200 secs = +2 Hour ;)

If you have connected TFT Brightness PWM pin, uncomment this line --- //analogWrite(tftPwmPin, 250);

Have fun!

Edit Note : (I have uploaded last updated files 28.01.2015)

Explore Science Contest

Participated in the
Explore Science Contest

On a Budget Contest

Participated in the
On a Budget Contest

Protected Contest

Participated in the
Protected Contest