Skip to the content
4 layers120 × 80.1 mmWeather Station - KiCad, the printed circuit board in 3D

Weather Station - KiCad

Essenter24/STM32-Weather-Station

STM32 Weather Station project with self-designed PCB, based on BME690 sensor

Size
120 × 80.1 mm
Copper layers
4
Thickness
1.6 mm
Parts
58
Nets
78
Pads
224
Tracks, vias
593, 85
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
21 Oct 2026
Updated
29 Oct 2026

Overview

Weather Station - KiCad is an open-source printed circuit board by Essenter24, from the Essenter24/STM32-Weather-Station repository on GitHub, published under the MIT licence. It is a 4-layer board of 120 × 80.1 mm with 58 parts on 78 nets, routed with 593 tracks and 85 vias.

It is built around the STM32L476RGT6, BME690 and CR2032, with the MMBT3904 among its other parts. Its parts include 18 capacitors, 12 resistors, 6 switches, 4 diodes and 2 ICs. It belongs with the home automation and IoT boards and the STM32 boards of this library.

Main components

4

README

README.md

Weather Station STM32

An embedded weather station based on STM32 with self developed PCB engineered using KiCad.

The system, as for now, offers measurements of humidity, pressure and temperature with simple moving average filtering, alongside visualizing the data on LCD screen based on HD44780 controller, as well as sending data in JSON format by UART transmission

Main Functions

  • Measurements
    • Temperature, humidity and pressure (BME690)
  • Visualization
    • LCD 2x16 based on HD44780 controller
    • Brightness set either manually or automatically, based on light level (measured by photoresistor)
  • Connectivity
    • UART DMA communication for sending data in JSON format

Hardware

  • Custom-designed PCB developed in KiCad
  • MCU: STM32L476RG6
  • Weather sensor: BME690

Future plans

  • Handling air quality control with BME690
  • Moving the entire architecture to RTOS
  • Improve UART communication reliability during LCD updates

Known issues

  • UART tends to send garbage data when the LCD is being refreshed - a flag is used to omit the refreshement of LCD when UART is being transmitted

Project status

Project is under active development

Parts

58
QtyValueFootprintReferences
9100nCapacitor_SMD:C_0603_1608MetricC9, C10, C11, C12, C13, C14, C15, C17, C18
6MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4, H5, H6
5220Resistor_SMD:R_0603_1608MetricR1, R6, R7, R8, R9
5SW_PushButton_Switch_THT:SW_PUSH_6mm_H5mmSW2_UP1, SW3_DOWN1, SW4_LEFT1, SW5_RIGHT1, SW6_ENTER1
44.7kResistor_SMD:R_0603_1608MetricR2, R3, R4, R5
4LEDLED_SMD:LED_0603_1608MetricD1, D2, D3, D4
31uCapacitor_SMD:C_0603_1608MetricC4, C5, C16
210uCapacitor_SMD:C_0603_1608MetricC6, C7
27.5pCapacitor_SMD:C_0603_1608MetricC1, C2
110nCapacitor_SMD:C_0603_1608MetricC8
11kResistor_SMD:R_0603_1608MetricR10
133kResistor_SMD:R_0603_1608MetricR12
14.7uCapacitor_SMD:C_0603_1608MetricC3
1BME690Package_LGA:Bosch_LGA-8_2.5x2.5mm_P0.65mm_ClockwisePinNumberingU2
1CA6XVSMDStacja_pogodowa:CA6XVSMD10KA2525RV1
1CR2032Battery:Battery_Panasonic_CR2032-HFN_Horizontal_CircularHolesBT1
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ2
1MMBT3904Package_TO_SOT_SMD:SOT-23Q1
1PGM5639DOptoDevice:R_LDR_5.1x4.3mm_P3.4mm_VerticalR11
1QT1M-32.768KDZF-TStacja_pogodowa:QT1MY1
1STM32L476RGT6Stacja_pogodowa:STM32L476RGT6U1
1SW_Slide_DPDTStacja_pogodowa:MSS2346SW7
1~Connector_PinSocket_2.54mm:PinSocket_1x16_P2.54mm_VerticalLCD1
1~Stacja_pogodowa:PCGK21PC-GK2.1
1~Package_TO_SOT_SMD:SOT-23-3DI62063
1~Package_TO_SOT_SMD:SOT-23-5LDI8119-1

Similar boards

  • 6 layers60 × 100 mmSenseboard, the printed circuit board in 3D

    Senseboard

    CPSLO-AI-Campus-Fire-Detection/senseboard

    PCB for sensor stack and compute for fire detection system

    109 partsAGPL-3.0
  • 4 layers92 × 50.4 mmLevelSensor v2.0, the printed circuit board in 3D

    LevelSensor v2.0

    lucasnoce/IC-LevelSensor_v2

    Water level sensor with NBIoT data transmission

    125 parts1
  • 4 layers77 × 48.6 mmNX ISD, the printed circuit board in 3D

    NX ISD

    Ghost3379/NX-ISD

    A more sophisticated version of the Artemis Watch by Circuitmess.

    116 parts2GPL-3.0
  • 2 layers55 × 40 mmHass Room Sensor, the printed circuit board in 3D

    Hass Room Sensor

    Hass-Room-Sensor/Hass-Room-Sensor

    Home Assistant compatible sensor platform allowing to connect with ZigBee and ESPHome support.

    31 parts1MIT
  • 4 layers108.5 × 60 mmESP32 BME690, the printed circuit board in 3D

    ESP32 BME690

    andrewcnjuguna/ESP32_BME690

    Multi-room ESP32-S3 environmental sensor node that streams air-quality data to a Node.js server over Wi-Fi. Built around the Bosch BME690 with auxiliary light, sound and battery monitoring.

    98 parts
  • 2 layers86.6 × 56 mmCard env sensor, the printed circuit board in 3D

    Card env sensor

    Liesegang/env_sensor

    Outdoorの開発・検証はファームウェア、 Web受信アプリ、BLE仕様を参照。 Card firmwareはv2基板で毎分測定・BLE送信、 10分ごとのSD一括記録、1時間ごとの電子ペーパー更新を行う。 iPhoneアプリは共通BLEで受信し、バックグラウンド収集・端末内の履歴保存・JSON / CSV書き出しを行う。 資料の一覧はデータシートにある。

    78 parts
  • 2 layers65 × 70 mmCharan Indoor, the printed circuit board in 3D

    Charan Indoor

    Sankie005/CAIR

    Indoor air sensor for kitchens!

    88 parts

Questions

How big is the Weather Station - KiCad PCB?

It measures 120 × 80.1 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Weather Station - KiCad use?

58 parts, built around the STM32L476RGT6, BME690, CR2032 and MMBT3904. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Weather Station - KiCad KiCad files?

From the Essenter24/STM32-Weather-Station repository on GitHub, at the commit this page was made from: the board is Hardware/Weather Station - KiCad.kicad_pcb and its schematic Hardware/Weather Station - KiCad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Weather Station - KiCad design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).