Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
BETTESWORTHConstruction
DIY weather station

Build a DIY Raspberry Pi Weather Station and Internet Radio

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A Raspberry Pi can run a useful tabletop weather station and an internet radio from the same compact appliance. Start indoors with temperature, humidity, pressure and light readings, then add local logging, a browser dashboard, physical controls and outdoor wind and rain sensors.

The practical approach is to build in stages: prove the electronics first, add radio playback second, and only then move sensors outdoors or introduce a separate low-power sensor node.

As an Amazon Associate I earn from qualifying purchases.

What the finished project does

A basic build measures local conditions and plays internet-radio streams through powered speakers. A more advanced version can log readings, display graphs, accept button or touchscreen controls, and receive outdoor data from an ESP32 or Pico W.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Level Capability
Simple Temperature, humidity, pressure and light on a desk
Useful Local display, automatic startup and data logging
Networked Browser dashboard, MQTT and remote access on the home network
Outdoor Radiation shield, wind sensor, rain gauge and weatherproof cabling
Advanced Filtering, calibration, alerts, backups and battery backup
Audio-enhanced Internet radio, station presets, buttons, amplifier and touchscreen

This is a hobby-grade observation system, not a certified meteorological instrument. It measures conditions where its sensors are installed. A forecast service provides regional or modelled information and is not a substitute for local measurement.

#1 Best Overall
Freenove Ultimate Starter Kit for Raspberry Pi 5 4 Zero 2 W (NOT Included) | 5 Sets of Code Python C Java Scratch Processing, 962-Page Detailed Tutorial, 128 Example Projects, 223 Items
  • 5 sets of code: Python (compatible with 2&3), C, Java, Scratch and Processing (Scratch and Processing code provide graphical interfaces)
  • Detailed tutorial: Can be downloaded (in English, 962-page in total) or viewed online (original in English, can be translated into other languages by browsers) (The tutorial link can be found on the product box, no paper tutorial)
  • 128 projects from simple to complex: Provides step-by-step guide with electronics and components knowledge, each project has schematics, wiring diagrams, complete code and detailed explanations
  • 223 items in total: This ultimate kit includes the most commonly used electronic components, modules, sensors, wires and other compatible items
  • Compatible models: Raspberry Pi 5 / 500 / 400 / 4B / 3B+ / 3B / 3A+ / 2B / 1B+ / 1A+ / Zero 2 W / Zero W / Zero (NOT included in this kit)

Choose the right architecture

For the quickest build, use one Raspberry Pi indoors with a compatible Pimoroni Weather HAT. It provides a BME280 temperature, humidity and pressure sensor, a light sensor, a 1.54-inch LCD, four buttons and connectors for optional wind and rain sensors. It is intended for Raspberry Pi boards with a 40-pin GPIO header, so it is not compatible with every older Pi.

A Pi 3 or newer is a sensible baseline for Mopidy and leaves more capacity for a dashboard, database and display. Use a reliable 5 V power supply, Ethernet or Wi-Fi, adequate storage and a ventilated indoor case. A Pi Zero-class board may work for a minimal player, but has less margin once several services are running.

For a remote outdoor installation, the better design is usually:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Outdoor sensors → ESP32 or Pico W → Wi-Fi/MQTT → Raspberry Pi indoors
                                      ↓
                           database, dashboard and radio

A microcontroller consumes less power and is easier to place near outdoor sensors. The Raspberry Pi can remain dry indoors and handle Linux, storage, web services and audio.

Parts list

Base weather build

  • Raspberry Pi with a compatible 40-pin GPIO header
  • Reliable power supply and microSD card or other suitable storage
  • Pimoroni Weather HAT, or individual I²C sensors such as a BME280
  • Network connection
  • Existing powered speakers, USB audio device or Raspberry Pi audio output

Outdoor and advanced additions

  • Ventilated radiation shield for temperature and humidity
  • Anemometer and wind vane
  • Tipping-bucket rain gauge
  • Outdoor-rated cable, connectors, glands and enclosure
  • ESP32 or Pico W sensor node for a distant or battery-powered location
  • SQLite database, dashboard software, UPS and backup storage

Audio additions

The simplest choice is existing powered speakers. A USB audio device is useful when the Pi’s normal output is unsuitable. A DAC or audio HAT improves integration and output quality; a DAC plus amplifier HAT is appropriate for passive speakers. These are different devices: a line-level DAC output cannot drive a passive speaker directly. See the Raspberry Pi audio hardware guide for DAC, amplifier, codec, headphone and line-out categories.

Build the indoor weather station

  1. Flash Raspberry Pi OS to the storage device.
  2. Set the hostname, user account, password, Wi-Fi and SSH during setup.
  3. Boot the Pi, update it and confirm network access.
  4. Enable or verify I²C if required by the selected hardware.
  5. Power down before attaching the Weather HAT to the GPIO header.
  6. Install the current Weather HAT software by following the official repository instructions.
  7. Run the supplied example before writing custom software.

The Weather HAT documentation is the shortest route to a first result: readings should appear for temperature, relative humidity, pressure and light, with LCD output when the display is enabled. Treat these readings as observations. Sensor placement and the Pi’s own heat can matter more than small differences between software libraries.

Position the indoor sensor correctly

Do not place the sensor directly above the Pi, amplifier, power supply or display. Avoid windows, radiators, vents, appliances and direct sunlight. A sensor inside a sealed case can report the temperature of the electronics rather than the room.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
KOOKYE 16 in 1 Smart Home Sensor Modules Kit for Arduino Raspberry Pi DIY Professional
  • SMART HOME LEARNING KIT--This kit combines the most common electronic components of smart home projects,developed specially for those beginners who are interested in Arduino and raspberry pi DIY.
  • THE PROFESSIONAL SMART HOME KIT--This has 16 sensors modules and delicately selected sensors to detect temperature, humidity, sound, light, infrared, motion, flame,vibration,digital touch, air pressure and many other commonly-used sensors modules.
  • THE MOST COMPLETE SMART HOME KIT--This universal kit are compatible for Arduino UNO R3 / Mega2560 / Mega328 /Nano / Raspberry Pi, it could DIY 16 projects according to your need.
  • HIGH QUALITY GUARANTEE--We eliminate many old-fashioned sensors which have low reliability and duplicate function as other sensor in the kit, the kookye modules sensor kits are choosed carefully for our user.
  • DETAILED TUTORIAL ON OUR WEBSITE--Our website provide step-by-step instruction, detailed circuit connection graph/video, verified sample code and library package which can save lot of user's research time and speed up the learning progress.

Log readings without destroying the storage

A one-minute sample interval is a sensible starting point. CSV is easiest for a prototype; SQLite is more durable for a dashboard and historical queries. A useful record might contain:

timestamp,temperature,humidity,pressure,light,wind_speed,wind_direction,rain
  • Store timestamps internally in UTC and convert them for display.
  • Store raw readings before applying smoothing.
  • Record missing or failed samples explicitly.
  • Write less frequently than once per second to reduce storage wear.
  • Keep a software or configuration version with the data.
  • Back up the database and configuration.

Display an instantaneous value, a short moving average and daily minimum or maximum separately. Rain totals should not be smoothed like temperature. Wind direction also needs circular averaging; a normal arithmetic average gives the wrong result when readings cross 0°/360°.

Add a local dashboard

A useful local dashboard should show current readings, the last-update time, sensor connection status, 24-hour temperature and pressure graphs, daily rainfall, wind and gust values, the current radio station and playback state.

Keep the dashboard on the home network unless public access is genuinely required. During an outage, the Pi can continue logging local sensors and serving the last stored data, but internet radio cannot play a remote stream. Mark old readings as stale rather than presenting them as current.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build the internet radio

Mopidy is a suitable software layer when the same Pi must run custom weather code. It is a Linux music server with internet-radio support, MPD control and web-client options.

On a compatible Raspberry Pi OS installation, begin with:

sudo apt update
sudo apt install mopidy

Mopidy’s current Raspberry Pi instructions distinguish Debian 12/Bookworm and Debian 13/Trixie repositories. Check the version-specific installation guide rather than copying an old repository command into a newer Raspberry Pi OS installation.

Rank #3
Ambient Weather WS-2902 Wi-Fi Smart Weather Station | With Wi-Fi Remote Monitoring and Alerts
  • COMPLETE WEATHER STATION: (1) Osprey Sensor Array with Rain Cup, and (1) Brilliant, Easy-to-Read LCD Color Display
  • AUTHENTIC HYPER-LOCAL DATA: Monitor your actual home and backyard weather conditions with our wireless and Wi-Fi-enabled sensor array measuring wind speed/direction, temperature, humidity, rainfall, UV intensity, and solar radiation
  • SMART HOME READY: Set up alerts, access your data remotely, and program your home based on weather conditions using IFTT, Google Home, Alexa, and more
  • ENHANCED WIFI: Enables your station to transmit its data wirelessly to the world's largest personal weather station network (optional setting)
  • JOIN THE COMMUNITY: Connect to Ambient Weather Network to customize your dashboard tiles, share hyperlocal weather conditions via social feeds and create your own forecasts (coming soon)

Test the audio path before troubleshooting Mopidy:

aplay /usr/share/sounds/alsa/Front_Center.wav

If there is no sound, check the selected output, HDMI routing, USB audio device or DAC configuration first. Passive speakers require a suitable amplifier.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure stations

Use the direct stream URL supplied by each broadcaster. A station’s website address is not necessarily a playable audio stream. Begin with three to ten known stations, then add play, stop, previous, next and volume controls. Add reconnect handling and display the current station name.

Radio can be controlled through a Mopidy web client, an MPD-compatible phone app, GPIO buttons, a rotary encoder, a touchscreen or a custom local dashboard. Keep the first version simple. Station directories, voice control and multiroom playback can come later.

Older tutorials may recommend Spotify’s libspotify-based Mopidy plugin. Pimoroni notes that Spotify disabled that API in May 2022, so those instructions are not a reliable route for current Spotify streaming. This project is better focused on ordinary internet-radio streams.

Keep the services separate

Run weather collection, radio playback and the dashboard as separate services:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
weather-reader.service
  Reads the HAT or MQTT values and writes the database

mopidy.service
  Plays streams and provides audio controls

dashboard.service
  Serves readings and radio status

optional mqtt.service
  Receives data from an outdoor node

Each service should start after networking is available, restart after failure, write useful logs and handle unavailable hardware without taking down the other services. A failed weather driver should not stop the radio.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Move the sensors outdoors carefully

Outdoor accuracy depends heavily on installation. A waterproof electronics box is not automatically a good temperature enclosure. Separate the jobs of the installation:

Rank #4
Gowoops 2pcs DHT22/AM2302 Digital Humidity and Temperature Sensor Module for Arduino Raspberry Pi, Temp Humidity Gauge Monitor Electronic Practice DIY Replace SHT11 SHT15
  • The sensor can be operated with both 3.3V and 5V, it is compatible for connection to all standard boards such as Arduino, RN-Control, Raspberry Pi and all other microcontrollers.
  • This sensor can build thermometer electric circuit microcontroller, it can be used for robotics development kit, suit for engineer to make projects.
  • Suit for School Beginners: Perfect intro sensor to programmable based on Arduino electronic and IoT robotics.
  • Used for automatic control, weather stations, home appliances, humidity regulators, medical treatment, dehumidifiers, etc.
  • Temperature range: -40 ℃ ~ 80 ℃, Temperature measurement accuracy: ± 0.5 ℃, Humidity measuring range: 0~100%RH, Humidity measurement accuracy: ±2%RH
  • Sensor shield: shaded and ventilated, allowing air movement while preventing direct rain and sun.
  • Electronics enclosure: protects boards and power connections from water and condensation.
  • Cable entry: uses suitable glands and weather-resistant connectors.
  • Maintenance: includes checking corrosion, insects, debris and drainage.

Keep temperature and humidity sensors away from roofs, walls, concrete, exhaust outlets and other heat sources. A rain gauge must be level and clear of leaves and insects. Wind sensors need unobstructed exposure and correct orientation. Pimoroni’s Weather HAT guidance treats outdoor weatherproofing and suitable shielding as part of the installation, not as an automatic property of the board.

When to use a Pico W or ESP32

A microcontroller node is preferable when the sensors are far from the Pi, power is limited or the location is exposed. It can sleep between readings, transmit via Wi-Fi and continue with a much smaller software stack. The Pimoroni Enviro Weather project illustrates this low-power approach.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Send measurements to the indoor Pi using MQTT or another local protocol. Include a timestamp, sensor identifier, battery status if applicable and a sequence number. The dashboard should show when the last message arrived and should flag stale data.

Reliability and recovery

Sensor problems

  • Frozen values can indicate an I²C communication failure.
  • Incorrect humidity may follow condensation.
  • Long cables can cause noise, voltage drop or unreliable timing.
  • Modules may use conflicting I²C addresses.
  • Wind and rain connectors can corrode or clog.

Mark failed samples unavailable, record the error and reconnect or restart the sensor interface. Do not silently substitute an old value without showing its age.

Radio problems

Broadcasters can change stream URLs, codecs or access policies. A stream may disconnect or be unavailable in a particular region. Keep several presets, implement reconnect logic and retain a local audio file for testing.

Power and storage

Low-quality power supplies can cause reboots, USB failures and audio problems. Abrupt power loss can corrupt the filesystem. Reduce unnecessary writes, back up configuration and data, and consider a UPS for important logging. For long-term deployments, read-only or network-backed storage can reduce SD-card risk.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Common design mistakes

  • Calling a forecast API a local weather measurement.
  • Putting a temperature sensor inside the Pi’s warm enclosure.
  • Sealing a sensor in a box with no ventilation.
  • Running outdoor wiring without moisture protection.
  • Assuming every audio HAT includes an amplifier.
  • Using a station webpage URL instead of its stream URL.
  • Copying repository commands from an old Raspberry Pi OS tutorial.
  • Publishing the dashboard directly to the internet without securing it.
  • Making cloud accounts a prerequisite for local operation.

Cloud publication should remain optional. Older weather-station tutorials may depend on Weather Underground credentials that are no longer issued in the same way. An updated Adafruit guide notes that free Weather Underground API keys are no longer available and uses OpenWeatherMap instead. Check current service terms before adding any cloud integration.

Recommended build sequence

  1. Build the Pi and weather sensor indoors.
  2. Run the vendor example and confirm stable readings.
  3. Add one-minute local logging.
  4. Test audio independently.
  5. Install Mopidy and add a few direct stream URLs.
  6. Combine readings and radio status in a local dashboard.
  7. Add buttons, a rotary encoder or touchscreen.
  8. Move only the sensors outdoors, using proper shielding and cable protection.
  9. Split distant or battery-powered sensors onto a Pico W or ESP32.
  10. Add automatic service restart, backups and UPS protection.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.