PROJEKTY / ESP32-S3

Radio Wilma

Radio internetowe na ESP32-S3 z ekranem ST7796 480×320: zegar, pogoda, equalizer, kręcący się winyl i logo stacji. Sterowanie enkoderami lub z przeglądarki (http://radio.local). To własny program Sir Williams, napisany od podstaw. Kod i instrukcja za darmo.

ESP32-S3ST7796PCM5102APanel WWWOpen-MeteoArduino IDE

JAK TO WYGLĄDA

Ekran główny Radia Wilma: zegar, pogoda, stacja RMF FM, utwór, winyl i equalizer
Ekran główny: data, zegar, pogoda, logo i nazwa stacji, utwór, winyl, equalizer oraz pasek z adresem IP, numerem stacji, bitrate i gatunkiem. Zrzut z podglądu w przeglądarce (http://radio.local/ekran).

PANEL WWW

Panel WWW radia pod adresem radio.local: odtwarzacz i lista stacji z logo
Zakładka „Odtwarzacz”: logo i tytuł utworu, głośność, lista stacji z wyszukiwarką i logo.
Ustawienia panelu WWW: Wi-Fi, stacje, szukaj stacji, pogoda, hasło, aktualizacja, wygląd, system
Zakładka „Ustawienia”: Wi-Fi, stacje, wyszukiwarka stacji, pogoda, hasło panelu, aktualizacja, wygląd i system.

Panel jest pod adresem http://radio.local.

CO POTRAFI

Ekran

Zegar, temperatura i ikona pogody, nazwa stacji, wykonawca i tytuł (długie teksty przewijają się), equalizer 15 pasm i winyl, który kręci się podczas grania.

Panel WWW

Odtwarzacz, lista stacji z wyszukiwarką, edycja stacji i logo (także przeciągnięciem pliku), Wi-Fi, pogoda, hasło panelu i aktualizacja przez Wi-Fi.

Wyszukiwarka stacji

Ustawienia → Szukaj stacji: baza radio-browser.info, do 25 wyników, „Graj” albo „Do ulubionych”. Odtwarzanie nie jest przerywane.

Pogoda

Open-Meteo (bezpłatnie, bez klucza), miejscowość ustawiasz w panelu, odświeżanie co 15 minut. Ikony pogody można podmienić na własne.

Podgląd ekranu

Strona http://radio.local/ekran pokazuje ekran radia w przeglądarce, także w trybie dla OBS.

Bezpieczeństwo

HTTPS z weryfikacją certyfikatów dla pogody i wyszukiwarki, hasło panelu, dane Wi-Fi poza repozytorium (secrets.h).

POTRZEBNE ELEMENTY

Płytka

ESP32-S3 WROOM N16R8 (16 MB flash, 8 MB PSRAM).

Ekran

TFT SPI ST7796 3,5″ 480×320.

Audio i sterowanie

DAC PCM5102A, dwa enkodery z przyciskiem, wzmacniacz i głośniki.

POŁĄCZENIA

Ekran TFT i DAC

SygnałESP32-S3
TFT SCKGPIO12
TFT MOSIGPIO11
TFT DCGPIO9
TFT CSGPIO10
TFT RSTGPIO14
PodświetlenieGPIO21
PCM5102A BCLKGPIO17
PCM5102A LRCGPIO15
PCM5102A DINGPIO16

Wszystkie masy (GND) połącz ze sobą.

Enkodery

SygnałESP32-S3
Enkoder 1 (głośność) S1GPIO5
Enkoder 1 S2GPIO4
Enkoder 1 KEYGPIO6
Enkoder 2 (stacje) S1GPIO18
Enkoder 2 S2GPIO7
Enkoder 2 KEYGPIO3

Enkoder 1 reguluje tylko głośność, enkoder 2 tylko zmienia stację. Wyciszenie i pauza są w panelu WWW.

INSTALACJA

  1. Rozpakuj archiwum. Katalog szkicu musi nazywać się dokładnie Radio_Wilma (tak jak plik Radio_Wilma.ino, z uwzględnieniem wielkości liter).
  2. W Arduino IDE zainstaluj rdzeń esp32 by Espressif w wersji 3.x i wybierz płytkę ESP32S3 Dev Module: Flash Size 16MB, Flash Mode QIO 80MHz, PSRAM OPI PSRAM, Partition Scheme 16M Flash (3MB APP/9.9MB FATFS).
  3. Zainstaluj biblioteki: GFX Library for Arduino (testowane 1.6.9) i ESP32-audioI2S 4.0.0 (schreibfaul1). Pozostałe są w pakiecie płytki ESP32.
  4. Opcjonalnie skopiuj secrets.example.h jako secrets.h i wpisz swoją sieć Wi-Fi na pierwszy start.
  5. Wgraj szkic (monitor portu: 115200). Bez secrets.h radio uruchomi punkt dostępowy Radio-Wilma (hasło radio1234): połącz się z nim, otwórz http://192.168.4.1 i w Ustawieniach wybierz swoją sieć Wi-Fi.
  6. Potem radio jest dostępne pod adresem http://radio.local (panel WWW, stacje, pogoda, aktualizacja plikiem .bin).

Szczegóły opisuje plik README.md w archiwum.

POBIERZ

Radio_Wilma.zip

Archiwum ZIP · szkic Arduino, README, licencja GPL-3.0, narzędzia do grafik ·

Pobierz program

Przed wgraniem sprawdź piny i ustawienia płytki.

AUTOR I LICENCJA

Autor i prawa

Autor: Sir Williams, © 2026. Kod programu jest udostępniony na licencji GNU GPL v3: wolno go używać, zmieniać i rozpowszechniać, o ile zachowasz licencję i informacje o autorze oraz udostępnisz kod źródłowy zmian. Pełny tekst jest w pliku LICENSE w archiwum. Oprogramowanie dostarczane „tak jak jest”, bez gwarancji.

Elementy zewnętrzne

  • czcionki Roboto: SIL Open Font License 1.1,
  • ikony pogody Meteocons: MIT, © Bas Milius,
  • ESP32-audioI2S: GPL-3.0,
  • Arduino_GFX: BSD,

Biblioteki instalujesz osobno. Dane pogodowe: Open-Meteo, stacje: radio-browser.info.

← WRÓĆ DO PROJEKTÓW