Skip to the content
4 layers104.1 × 92.5 mmWeatherStationPCB, the printed circuit board in 3D

Raspberry Pi Pico W Weather Station

Size
104.1 × 92.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
38
Nets
56
Pads
266
Tracks, vias
398, 3
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
12 Jul 2024
Updated
9 Jul 2025

Overview

WeatherStationPCB is an open-source printed circuit board by jondurrant, from the jondurrant/RPIPicoWeatherStation repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 104.1 × 92.5 mm with 38 parts on 56 nets, routed with 398 tracks and 3 vias.

Its parts include 11 connectors, 9 resistors, 3 capacitors, 3 transistors and 2 ICs. It belongs with the home automation and IoT boards and the RP2040 boards of this library.

README

README.md

RPIPicoWeatherStation

Raspberry Pi Pico W Weather Station

This project is a Weather Station powered by a Raspberry Pi Pico W. It is based on a Wind and Rain Sensors kit from SparkFun. Then adding additional sensors.

Status

Project is still evolving and I am documenting the progress on my YouTube channel drjonea.

Current status:

  • PCB First version is complete. This isn't perfect as some of the extension are not working as intended byt basic functions work
  • Code - Basic code to read and publish data to a webservice exist but is evolving
  • Server side code will be in a seperate repo and is work in progress right now

PCB

The PCB folder contains a KiCAD model of schematic and board

Major components:

  • Raspberry Pi Pico W
  • Wind and Rain Sensor Kit SparkFun
  • ChronoDot v2 DS3231 RTC
  • AHT10 Temperature and Humidity Sensor
  • SEN0500 DFRobot Composite sensor

Tests

I use CPPUTest to build test framework. Currently these test are mainly about isolated testing of the component, to make sure each of the components on the board is working.

Tests can be found in the folder test. The test_main.cpp controls which tests are run.

Exp

This contains some early experiments with the hardware and concepts. Will probably be deleted at some point.

Code

This is a Pico SDK and FreeRTOS Kernel application. It uses some of my own libraries for Web Service publication.

Build

Firmware can be build using the normal build process:

text
mkdir build
cd build
cmake ..
make

Parts

38
QtyValueFootprintReferences
4Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5, UART0A1, UART0B1, UART1
4Conn_01x04_SocketConnector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_VerticalAHT10_S1, I2C0A1, I2C0B1, SEN0500_S1
3100KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR1, R6, R7
3100RResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR2, R3, R4
32N7000Package_TO_SOT_THT:TO-92_InlineQ1, Q2, Q3
20.1uFCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC1, C2
223GRResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR8, R9
2Conn_01x06_MaleConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ1, J2
2Conn_01x06_PinConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ7, J8
2Conn_01x20_PinConnector_PinHeader_2.54mm:PinHeader_1x20_P2.54mm_VerticalJ3, J4
2RJ11-6SparkFunConnectors:RJ11-6RAIN1, WIND1
2SW_SPSTButton_Switch_THT:SW_PUSH_6mmSW1, SW2
14.65KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR5
1C_PolarizedCapacitor_THT:CP_Radial_D10.0mm_P5.00mmC3
1ChronoDot2.0JonLib:ChronoDotV2U2
1Conn_01x05_SocketConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalJ6
1Conn_01x06_SocketConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_HorizontaluSD1
1LED_RKGBLED_THT:LED_D5.0mm-4_RGBD1
1PicoMCU_RaspberryPi_and_Boards:RPi_Pico_SMD_THU1

Similar boards

  • 4 layers53 × 39.5 mmYARLoRa, the printed circuit board in 3D

    YARLoRa

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    38 parts915
  • 4 layers68.8 × 53.6 mmEasyduino Atmega, the printed circuit board in 3D

    Easyduino Atmega

    Hanqaqa/Easyduino

    Easily dive into different PCB KiCad designs of the most popular microcontroller devboards

    38 parts755CERN-OHL-P-2.0
  • 4 layers76.7 × 65.7 mmFloatV2, the printed circuit board in 3D

    FloatV2

    murexrobotics/electrical

    Highly integrated electronics design and printed circuit boards (PCBs) for the MATE ROV Competition. Attempt the impossible.

    38 parts192MIT
  • 4 layers38 × 38 mmAgnus, the printed circuit board in 3D

    Agnus

    jbilander/ReAgnus

    A drop-in replacement PCB for the Amiga Agnus chip

    38 parts97CC-BY-SA-4.0
  • 4 layers53.2 × 53.2 mmSmart lcc, the printed circuit board in 3D

    Smart lcc

    magnusnordlander/smart-lcc

    A smarter LCC for the Lelit Bianca V2, with Wi-Fi and stuff.

    38 parts54
  • 4 layers152.4 × 152.4 mmFlexPCB, the printed circuit board in 3D

    FlexPCB

    Roboy/HTC_Vive_Sensors

    Schematics and PCB designs for our custom Vive sensors based on a quad op-amp chip rather than discrete transistors.

    38 parts23
  • 4 layers53 × 23 mmSparkFun RTK Facet - External Connector, the printed circuit board in 3D

    SparkFun RTK Facet - External Connector

    sparkfun/SparkFun_RTK_Facet

    The hardware and enclosure for the popular centimeter level RTK Facet GNSS receiver with built in display.

    38 parts23
  • 4 layers15 × 16.3 mmCOM MOD, the printed circuit board in 3D

    COM MOD

    Aightech/CleverHand-hardware

    38 parts17GPL-3.0

Questions

How big is the WeatherStationPCB PCB?

It measures 104.1 × 92.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the WeatherStationPCB use?

38 parts. 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 WeatherStationPCB KiCad files?

From the jondurrant/RPIPicoWeatherStation repository on GitHub, at the commit this page was made from: the board is PCB/WeatherStationPCB/WeatherStationPCB.kicad_pcb and its schematic PCB/WeatherStationPCB/WeatherStationPCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the WeatherStationPCB design in my own project?

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