Post

Weatheradio: Modern Weather Reports in a Retro Shell

Weatheradio: Modern Weather Reports in a Retro Shell

Want your own talking weather appliance? This one runs on ESP32, Azure TTS, and NOAA.


πŸ“» What is Weatheradio?

Weatheradio is a retro-styled ESP32 appliance that speaks the weather using Azure Neural TTS. Housed in a vintage Realistic Weatheradio shell, it combines modern cloud speech with old-school charm.


πŸ”Š Audio Pipeline

  • Azure TTS streaming β€” 16-bit, 16kHz mono PCM over TLS for annunciating the current and next weather forecasts.
  • Talkie LPC voice β€” squawks, prompts, and personality Phil Schatzmann - TalkiePCM

🌦️ Forecast Engine

  • NOAA gridpoint API β€” short press gives: two-period forecast (current + next)
  • ZIP detection β€” automatic via IP, or manual override
  • Fallback content β€” long press gives: a random Shower Thought from reddit, or failover to a Useless Face

🧠 Architecture

  • FreeRTOS tasks β€” Azure, weather, showerthought, audio, button, watchdog
  • Ring buffer β€” 32KB, aligned, underrun-proof
  • Phrase lifecycle β€” begin β†’ stream β†’ end β†’ silence flush

πŸ“‘ Connectivity

  • WiFiManager β€” captive portal with MAC-suffix SSID
  • Telnet commands β€” sp, lp, tt, restart, wifioff, wifion, etc.
  • Watchdog β€” restarts on stuck tasks

πŸŽ›οΈ Controls

  • Volume knob β€” mapped to gain table
  • Voice knob β€” Ava ↔ Andrew
  • Single button β€” short press = forecast, long press = showerthought

🧩 Reliability

  • I2S reset before playback
  • Ring buffer reset to avoid Talkie/Azure mixing
  • Silence flush to prevent end-of-phrase static

🧠 Personality

  • Boot sequence β€” ZIP detection, β€œradio ready” confirmation
  • Talkie squawks β€” retro robotic flavor
  • Azure voice β€” smooth, natural speech

This post is part of the Whiskey Bravo series β€” where ESP32 meets personality, clarity, and flavor.


πŸ› οΈ Next Steps

I’m going to integrate it with my vesta board note

This post is licensed under CC BY 4.0 by the author.