3.2 TFT Weather Station




Introduction: 3.2 TFT Weather Station

Yes! It is the same weather station again, but it uses a bigger display. Pls take a look at previous instructables.

I still had this 320X480 lcd display for the arduino mega and i was wondering if i could rewrite my sketch to work on it. I was lucky because of the library HX_8357 created by Bodmer (thanks mate!) is a very good one and can print floats and etc. It took me about an hour and it was working perfect.

Step 1: Parts Needed

- Arduino mega or Mega2560 pro

- 3.2 TFT LCD ILI9481 (HX8357)

- DHT11 or 22

- DS3231

- BMP180

- DS18B20

- Analog light sensor

-Libraries and sketch

Step 2: Software

Download sketch and included libraries, compile and upload.

Step 3: Prototype

I did not receive my prototype shield for my Mega that i ordered from china, so i sacrificed my RSD Mega for a time.

But i was careful and used thicker soldering wires and soldered them really carefully.

I did not wanted to change the pinout. So i made a little pcb plate with female headers for the sensors.

Not beautiful at all, but it does the job till it is finished.

I used a BMP180 sensor this time because my BMP280 sensor was acting weird and it was showing inaccurate values.

2019.02.15. Added absolute humidity calculation.

Step 4: Future Plans

I have read many articles about dust and air quality sensors. So i decided to order 2 sensor of 2 different types.

It seems not very hard to interface them with arduino boards and build in this project.

I am planning to add Air Quality readings, pressure in mmHg, digital precision humidity and light intensity.(and who knows what more)

The reason why i posted this instructable is that we have a bigger board, display , huge amount of memory (compared to the Uno) and many analog and digital pins.

When i take a look on the display it is a bit satisfying to read all possible formats of the measurement ; that's why i added those.

I have already bought the plastic enclosure for this weather station. When it will be finished i will upload the results.(i hope)

I hope some of you will have a good use for it.

Thanks for reading this instructable!

Be the First to Share


    • Eggs Challenge

      Eggs Challenge
    • Remote Control Contest

      Remote Control Contest
    • First Time Author Contest

      First Time Author Contest



    12 months ago

    Hi, does your code work with 3.2 TFT LCD ILI9488?


    Reply 12 months ago

    It depends what library u use! With this library it should work.


    2 years ago

    Здравия! Благо дарю за хорошо проделанную работу. Попытаюсь сделать и себе такую же станцию.
    Hello! I give the benefit for a job well done. I will try to make myself the same station.


    Reply 2 years ago

    This is my first a bit complex WS with Mega2560. I am still using it day by day. Thinking about a graphical rework to make it better.


    Reply 2 years ago

    You will succeed as it should! However, I’m even more interested - how to replace DHT22 with HTU21D? Despite the fact that I am a very weak programmer.
    P.S. And even better, instead of DHT22 and BMP180, use BME280. And yes, it would be desirable to see a schematic diagram.


    Reply 2 years ago

    A simple breadboard schematic for BME280 and one RTC.

    Untitled Sketch 2_bb.jpg

    Reply 2 years ago

    Я не вносил пока что изменений. Всё как есть - мне нравится!
    I have not made any changes so far. Everything is as it is - I like it!


    Reply 2 years ago

    If you want to use other I2C sensors to measure temperature include the correct libraries, create a new instance and replace the temperature and humidity instances for the readings. It is the same for eg:BME280.
    For example:
    #include <HTU21D.h>
    Next the instance:
    HTU21D htu;
    #define HTU21D_ADDRESS 0x40 //chip i2c address Need to define address
    We start the sensor in void setup
    We need to add the reading from the sensor to Arduino in void loop.
    float t = htu.readTemperature();
    float h = htu.readHumidity();
    rh = htu.readHumidity();
    t = htu.readTemperature()

    If you replace with DHT instances it will work.


    Reply 2 years ago

    I give the benefit!

    DIY Hacks and How Tos

    Hello there!

    We're glad you want to share something with the Instructables community!

    And we’re here to help you out.

    Due to some recent changes on the site, we are no longer able to publish stand-alone videos and other forms of incomplete posts. In order to be published live on the site, Instructables must consist of the following things:

    - Multiple steps showing how you made your project

    - Written instructions in each step

    - Your own original images

    Beyond making your Instructable simply publishable, this guide (https://www.instructables.com/id/How-to-Create-a-Feature-Worthy-Instructable/) explains what is required to have your Instructables featured by our site editors. It’s very helpful, and definitely worth checking out.

    We would love to review your project again after you have made the necessary edits, and we will publish your project if it is eligible.

    If you have any questions, please feel free to ask right here or send us an email at service@instructables.com.


    Instructables Community Manager


    Reply 3 years ago

    Was in a hurry. Will do it later ;)