---
title: "WizFi360 Weather Station"
url: "https://maker.wiznet.io/briankdlee/contest/wizfi360-weather-station/"
markdown_url: "https://maker.wiznet.io/briankdlee/contest/wizfi360-weather-station/md"
type: "Contests"
author: "briankdlee"
author_url: "https://maker.wiznet.io/briankdlee/"
original_author: "Kidong Lee"
license: "GNU General Public License, version 3 or later (GPL3+)"
published: "2022-10-31"
language: "en"
tags: ["CircuitPython", "wizfi360-contest-submission", "WizFi360-EVB-Pico", "Weather"]
hardware: ["WIZnet WizFi360-EVB-Pico", "HiLetgo ILI9341 2.8\" SPI TFT LCD Display Touch Panel 240X320 with PCB 5V/3.3V"]
likes: 7
views: 2529
comments: 2
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# WizFi360 Weather Station

> This is a weather station using WizFi360. It receives weather data from public weather api services and display weather information.

Original author: Kidong Lee

## Components

- **WIZnet WizFi360-EVB-Pico** x 1
- **HiLetgo ILI9341 2.8" SPI TFT LCD Display Touch Panel 240X320 with PCB 5V/3.3V** x 1: SPI TFT LCD (Controller: ILI9341)
- Software: **OpenWeather**: Public weather information service ([docs](https://openweathermap.org/appid))
- Software: **행정안전부 Public Data Portal (공공데이터포털)**: Public weather information service ([docs](https://www.data.go.kr/))

## Documents and links

- [Application code (in CircuitPython)](https://maker.wiznet.io/_lib/download.asp?path=project/6440&downfile=WizFi360%2Dweather%2Dstation%2Ezip) (code): Application code to receive weather information and display to LCD Screen.
- [WizFi360 to LCD Display (ILI9341 3.2" SPI TFT) Wiring](http://helloraspberrypi.blogspot.com/2021/03/rpi-picomicropython-ili9341-spi-display.html) (schematics): From WizFi360 to LCD Screen wiring
- [Adafruit CircuitPython Bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle): Libraries depend on WeatherStation application. It contains only libraries to need running application.

## Article

![](https://maker.wiznet.io/upload/ckeditor5/797179806%5F1667228696%2Ejpg)

**Overview**

This is weather station using WizFi360. It receive weather information from data.go.kr (see <https://www.data.go.kr/data/15084084/openapi.do>[)](https://www.data.go.kr/data/15084084/openapi.do%29.) and display weather information to LCD display.

**Running Video**

[Embedded media](https://www.youtube.com/embed/71NgTNDJMcM)

**Install**

1. Install CircuitPython from <https://github.com/ronpang/WizFi360-cpy>

2. CircuitPy Drive will be created after installed CircuitPython.

3. Extract Source code(WizFi360-weather-station.zip) to CircuitPy Drive.

4. Extract Library(lib.zip) to CircuitPy Drive.

**Config**

1. Edit WiFi SSID/Wifi Password in secrets_example.py file.

2. Edit latitude, longitude in secrets_example.py file.

3. Save as secrets_example.py to secrets.py

**Run**

1. Install Thonny from <https://thonny.org/>

2. Choose menu Tools -> Options...

3. Click Interpreter Tab.

4. Set Interpreter to "CircuitPython (generic)".

5. Choose Port to connected serial port.

6. Open weather_station.py file in WizFi360-weather-station.

7. Run weather_station.py file.

**Hardware environment**

1. WizFi360-EVB-Pico.

2. LCD Display (ILI9341 3.2" SPI TFT): connected to WizFi360 SPI ports (<http://www.lcdwiki.com/3.2inch_SPI_Module_ILI9341_SKU:MSP3218>)

**Software environment**

1. CurcuitPython <https://github.com/ronpang/WizFi360-cpy>

2. Adafruit CircuitPython Bundle (<https://github.com/adafruit/Adafruit_CircuitPython_Bundle>)

- adafruit_ili9341: CircuitPython ILI9341 LCD Display low level driver

- displayio : various LCD support layer on CurcuitPython, supporting bitmap display (i.e. weather icon)

- adafruit_bitmap_font: bitmap font library displaying on LCD

**Weather data sources**

- <https://www.data.go.kr/data/15084084/openapi.do> : KMA(Korea Meteorological Agency) short-term weather forcast

This open api provide wheather information.

You must get service key from <https://data.go.kr/data/15084084/openapi.do> before getting the weather data.

Originally, openweathermap(<https://openweathermap.org/>) was selected to receive weather infomation. but openweathermap does not HTTPS respond on using WizFi360 + CircuitPython environment. So, KMA service is used getting weather information. You can use another wheather api if you can convert weather information to KMA format.

**Wiring**

Wiz360-EVB-Pico is fully compatible to Raspberry Pi Pico. So, wiring is the same as Raspberry Pi Pico and ILI9341 SPI Display.

![](https://1.bp.blogspot.com/-uPfETX8ToNk/YBb0DPes85I/AAAAAAAAXBA/_ERVHX6U0pgDlEI13DAGS45_Y-tHCCNxgCPcBGAYYCw/w640-h320/Pico_ili9341_bb_x.png)

**Conclusion**

WizFi360 provides excellent environment running CircuitPython. Wi-Fi, HTTP Communication, LCD control through SPI works well. It enables to make lightweight but powerful IoT Device. I hope enhanced version will be released continuously.

---

Source: https://maker.wiznet.io/briankdlee/contest/wizfi360-weather-station/
