← wszystkie projekty
ubuntowany@radio:~$ whoami hobbysta, nie firma. składam radio, nie produkt. ubuntowany@radio:~$ cat /etc/motto "jeśli ja to ogarnąłem lutownicą i kawą, ty też dasz radę."
UbuRadio.

Internetowe radio na ESP32-S3, przerobione i opisane tak, żeby dało się je zbudować bez dyplomu z elektroniki. Fork yoRadio, w klimacie Ubuntu.

ESP32-S3 yoRadio fork GPLv3 poziom: hobbysta
Pobierz kod na GitHubie
o projekcie

Co to w ogóle jest to UbuRadio?

UbuRadio to nasza wersja yoRadio — otwartoźródłowego firmware'u, który zamienia zwykły moduł ESP32 w prawdziwe radio internetowe: z ekranem, pokrętłami, pilotem i własną siecią WiFi. Nie napisaliśmy tego od zera — wzięliśmy solidny fundament i dostosowaliśmy go do siebie: pod nasz sprzęt, nasz język i naszą filozofię „zrób to sam, nawet jeśli na co dzień nie jesteś programistą”.

Nazwa nie jest przypadkowa. To radio nazywa się tak samo, jak sieć WiFi, którą wystawia przy pierwszym uruchomieniu — „ubuntowany”. Cały ten materiał ma jeden cel: żebyś mógł powtórzyć ten projekt, nawet jeśli lutownicę trzymałeś w ręce raz w życiu.

filozofia

Dla kogo to jest

Nie dla profesjonalistów

Nie zakładamy, że znasz się na elektronice. Każde połączenie na schemacie niżej jest opisane po ludzku — co to jest i do czego służy, a nie tylko numer nóżki.

Dla ludzi, którzy chcą spróbować

Jeśli umiesz wbić kabelek we właściwą dziurkę i przeczytać instrukcję — to wystarczy. Reszta to cierpliwość i jeden wieczór z kawą.

zakupy

Z czego to jest zbudowane

Lista rzeczy, które musisz mieć, zanim zaczniesz cokolwiek podłączać.

elementco robi
ESP32-S3-DevKitC-1 (44 piny)mózg całego radia — WiFi, procesor, wszystko
Wyświetlacz ILI9488, 480×320, SPIekran: nazwa stacji, zegar, VU-metr (działa też z ILI9341 albo ST7796)
Moduł DAC PCM5102A, I2S (RPi)zamienia cyfrowy dźwięk na analogowy sygnał audio
Wzmacniacz audio PAM8403, 2×3W, 5Vpodbija sygnał z DAC-a na tyle, żeby ruszył głośnik
2× enkoder obrotowy (np. EC11)pokrętła — głośność i wybór stacji
Odbiornik podczerwieni (np. VS1838B)obsługa pilota
Głośnik(i), 3W / 4–8Ωżeby było słychać
Zasilacz 5V, USB-Czasilanie płytki
Obudowadruk 3D, stare pudełko, cokolwiek — to już Twoja sprawa
schemat

Co gdzie podłączyć

Płytka ESP32-S3 jest w środku. Każdy moduł dostaje własny, kolorowy „kabel” na schemacie — to nie jest jedna linia, tylko kilka sygnałów, wypisanych w ramce obok. Zasilanie płytki: 5V przez USB-C, resztę modułów zasilasz z niej samej (3.3V albo 5V, zależnie od modułu — sprawdź opis swojego wyświetlacza).

ESP32-S3-DevKitC-1 44 piny · serce radia zasilanie: 5V, USB-C Wyświetlacz ILI9488 480×320, magistrala SPI DC → GPIO14 CS → GPIO10 MOSI → GPIO11 SCK → GPIO12 ⚠ MISO(13) zostaw wolne! PCM5102A (DAC) cyfra → dźwięk, magistrala I2S DOUT → GPIO8 BCLK → GPIO3 LRC → GPIO18 Odbiornik IR pod pilota zdalnego sterowania OUT → GPIO4 Pokrętło #1 — ENC obrót + wciśnięcie A → GPIO6 B → GPIO5 przycisk → GPIO9 kolejność A/B = kierunek obrotu Pokrętło #2 — ENC2 obrót + wciśnięcie S1 → GPIO16 S2 → GPIO17 KEY → GPIO15 drugie pokrętło — druga funkcja

Schemat: płytka ESP32-S3 w środku, a wokół cztery rodzaje modułów. Kolor linii = do czego prowadzi, numery w ramkach = konkretne piny GPIO do wpięcia kabelka.

wyświetlacz (SPI) dźwięk (I2S) pokrętło #1 pokrętło #2 pilot IR

Wzmacniacz PAM8403 (2×3W) nie łączy się z ESP32 — bierze gotowy sygnał audio wprost z wyjścia PCM5102A i dopiero z niego kabel idzie do głośnika. Dlatego nie ma go na schemacie z pinami GPIO.

wiedza wyniesiona z bólu

Pułapki dla początkujących

Rzeczy, na których się wyłożyłem, żebyś Ty nie musiał.

funkcje

Co to UbuRadio potrafi

Nie jest to gołe radio z jednym przyciskiem. Kilka rzeczy dosztukowaliśmy specjalnie pod nasz dom.

aktualizacje przez WiFi (OTA)aktywne — bez odkręcania obudowy
integracja z Home AssistantMQTT — sterowanie i podgląd stacji z panelu domu
polskie znaki na ekraniezałatane — ą ę ś ć ż ź i bez krzaczków
zapowiadanie godziny głosemco godzinę, syntezator mowy Google
wygaszacz ekranupo pauzie pokazuje pełnoekranowy zegar
różnice

Co zmieniliśmy względem oryginału

yoRadio to solidny fundament, ale „z pudełka” jest neutralny i angielski. To, co niżej, to konkretna robota, która zamieniła go w UbuRadio — nie tylko przemalowanie etykietki.

sposób pracy

Jak to wgrywamy

Pierwsze wgranie zawsze kablem USB. Później — jeśli włączysz OTA — już bez wstawania z kanapy.

$ pio run -e uburadio-esp32s3 -t upload --upload-port COM3 # pierwszy raz, kablem
$ pio run -e uburadio-esp32s3-ota -t upload # kolejne razy, przez WiFi
skąd to się wzięło

Uczciwie o pochodzeniu

UbuRadio nie jest napisane od zera — i nie udajemy, że jest. To zmodyfikowana wersja otwartoźródłowego yoRadio autorstwa e2002, wydanego na licencji GPLv3. Kod oryginału: github.com/e2002/yoradio. Nasze zmiany są opisane w sekcji wyżej — cały projekt zostaje na tej samej licencji GPLv3, tak jak wymaga tego oryginał.

github.com/ubuntowany/UbuRadio