Table of Contents
Overview
The Weather Data Display System is an innovative project designed to fetch, process, and display weather data on a hardware setup involving a Raspberry Pi and STM32 microcontroller. It leverages OpenMeteo API to retrieve weather data, which is then sent through SPI communication from a Raspberry Pi to an STM32, ultimately displaying the information on an EA DOGM162L-A LCD display.

Technologies Used
- Raspberry Pi: Manages API requests, processes data, and handles SPI data transmission.
- STM32 (ST Micro 'Nucleo' L432KC): Receives and processes SPI data to display.
- OpenMeteo API: Provides real-time weather data.
- Cloudflare Tunnel: Ensures secure access to the Raspberry Pi server.
- SPI Communication: Facilitates data transfer between Raspberry Pi and STM32.
- HTML/CSS: For the web interface hosted on the Raspberry Pi.
Getting Started
To get started with the Weather Data Display System, follow these steps to set up the project on your Raspberry Pi and STM32 microcontroller.
Prerequisites
Ensure you have the following prerequisites installed:
- Git
- Go (for compiling the Raspberry Pi application)
- TinyGo (for compiling and flashing the STM32 application)
- SSH access to your Raspberry Pi
Installation
Follow these steps to install and run the application:
-
Clone the repository:
git clone https://github.com/omar4f6d6172/Weather-Data-Display-System.git
-
Navigate to the project directory:
cd weather-data-display-system/raspberry/
-
Run the deployment script for the Raspberry Pi:
./deploy.sh
-
For the STM32 microcontroller, use TinyGo to flash the device:
tinygo flash -target=nucleo-l432kc stm32/main.go
(back to top)
Web Interface
Allows the user to change the location and view the weather data fetched from the OpenMeteo API on the Display connected to the STM32 microcontroller.

Usage
RaspberryPi
After deploying with the script, the Raspberry Pi application will start automatically and host a web interface accessible via the configured domain or IP address. This interface allows you to view and manage weather data collected through the OpenMeteo API.
STM32
The STM32 microcontroller displays the weather data sent from the Raspberry Pi on the EA DOGM162L-A LCD. The microcontroller should be connected as specified in the hardware setup documentation, and it will start displaying data once flashed and powered.
For more details on interacting with the system and examples of the interface, please refer to the Documentation.
(back to top)
Roadmap
(back to top)
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature)
- Commit your Changes (
git commit -m 'Add some AmazingFeature')
- Push to the Branch (
git push origin feature/AmazingFeature)
- Open a Pull Request
(back to top)
Contact
Omar Altanbakji
Project Link: https://github.com/omar4f6d6172/Weather-Data-Display-System
(back to top)