Skip to main content

Wireless Weather Station

A wireless weather station transmitting temperature, humidity, and pressure readings to a web interface.

info

Author: Ana-Maria Batagoi
GitHub Project Link: https://github.com/UPB-FILS-MA/project-anabat27

Description

This project aims to design and implement a comprehensive weather monitoring system utilizing the Raspberry Pi Pico W microcontroller and Rust programming language. It involves integrating temperature, humidity, and pressure sensors to gather environmental data, which is then transmitted wirelessly to a web interface. Users can access this interface from any device with a web browser to view real-time weather conditions, enabling remote monitoring and analysis for various applications.

Motivation

I chose this project because it combines several interesting elements: microcontroller programming with the Raspberry Pi Pico W, coding in Rust, sensor integration for environmental data collection, and web development for creating a user interface. Additionally, building a weather station provides practical applications for monitoring weather conditions, which can be useful for personal or educational purposes. Overall, it's a challenging and rewarding project that encompasses a range of skills and technologies.

Architecture

Main components:

Sensor Interface Module: This consists of the BME280, which is a sensor that integrates all three measuraments(temperature, pressure and humidity).

Data Processing Module: The data processing module primarily consists of the microcontroller (Raspberry Pi Pico W) itself. It handles the processing of raw sensor data, including tasks such as data filtering, calibration, and conversion.

Data Transmission Module: For wireless transmission, this module typically includes the Wi-Fi capabilities of the Raspberry Pi Pico W. The Pico W has built-in Wi-Fi connectivity, allowing it to connect to your local Wi-Fi network and transmit data to a web server or cloud platform.

User Interface Module: The user interface module primarily consists of the web server where the weather station data is transmitted and displayed.

How they connect: Sensor Interface Module to Data Processing Module: The BME280 is connected to the Raspberry Pi Pico W through GPIO pins. Data Processing Module to User Interface Module:The Raspberry Pi Pico W is connected to the web interface using a micro USB cable.

Architecture schematics

Log

Week 6 - 12 May

Week 7 - 19 May

Week 20 - 26 May

Hardware

Raspberry Pi Pico W: The main microcontroller board that will control the operation of the weather station and handle communication with sensors.

BME280 Sensor Module: This sensor module integrates temperature, humidity, and pressure sensors into one unit, simplifying the hardware setup. It communicates with the Raspberry Pi Pico W using the I2C communication protocol.

Micro USB Cable: To connect the Raspberry Pi Pico W to the computer for programming and development.

Breadboard and Jumper Wires: For prototyping and connecting the components together.

Schematics

project_documentation KiCad schematics

Place your KiCAD schematics here. main

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico WThe microcontroller35 RON
BME280The sensor74 RON
Micro USB CableTo power the Raspberry Pi Pico W3 RON
BreadbordTo assembly the prototype8 RON
Male-to-male WiresTo connect5 RON
Male-to-female WiresTo connect4 RON
Female-to-female WiresTo connect4 RON

Software

LibraryDescriptionUsage
embassy-halEmbassy hardware abstraction layerUsed to provide a hardware abstraction layer (HAL) for embedded systems
embassyAsynchronous embedded applicationsUsed to write efficient, reliable, and scalable embedded applications
embassy-netNetworking support for embedded applicationsUsed to simplify the implementation of networking functionality in embedded Rust applications
  1. Raspberry Pi Pico W:Wireless Weather Station ...