How halbeshuhn/cardputer-webradio works
Cardputer WebRadio is firmware for finding and playing internet radio stations directly on an M5Stack Cardputer Adv. The user searches the online directory or selects a saved station, then the firmware resolves the stream, decodes it, and presents audio and playback information. The README also documents Wi-Fi setup, playlists, logos, equalization, visualizers, sleep and charging screens. The tree lacks the main sketch, so those firmware responsibilities use the existing enclosing source directory; their internal wiring is not inferred. AudioCompat and Wi-Fi behavior are represented from sampled headers.
Main entry points: M5Cardputer_WebRadio Radio firmware · AudioCompat.h Audio decode and processing · CardWifiSetup.h Wi-Fi setup
Components 19
Device interaction
- Radio firmware
v3.4.0/M5Cardputer_WebRadio - Screens and controls
v3.4.0/M5Cardputer_WebRadio - Wi-Fi setup
v3.4.0/M5Cardputer_WebRadio/CardWifiSetup.h - Sleep and charge screens
v3.4.0/M5Cardputer_WebRadio - Multiscript text
v3.4.0/M5Cardputer_WebRadio
Station selection
- Station directory
v3.4.0/M5Cardputer_WebRadio - Country and station search
v3.4.0/M5Cardputer_WebRadio - Playlist resolution
v3.4.0/M5Cardputer_WebRadio - Station logos
v3.4.0/M5Cardputer_WebRadio - Radio-browser service
Stream playback
- Station stream
- Audio decode and processing
v3.4.0/M5Cardputer_WebRadio/AudioCompat.h - Cardputer audio output
- VU and spectrum
v3.4.0/M5Cardputer_WebRadio - Five-band equalizer
v3.4.0/M5Cardputer_WebRadio/AudioCompat.h
Device state
- Saved stations
v3.4.0/M5Cardputer_WebRadio - microSD card
- Wi-Fi preferences
v3.4.0/M5Cardputer_WebRadio/CardWifiSetup.h
Other components
- Listener
Connections 21
- Listener → Radio firmware: operates
- Radio firmware → Screens and controls: renders and handles input
- Radio firmware → Wi-Fi setup: connects Wi-Fi
- Wi-Fi setup → Wi-Fi preferences: reads and writes
- Radio firmware → Country and station search: runs searches
- Country and station search → Radio-browser service: queries directory
- Radio firmware → Saved stations: loads and saves
- Saved stations → microSD card: persists on
- Radio firmware → Playlist resolution: resolves station URL
- Radio firmware → Station stream: opens station stream
- Playlist resolution → Station stream: provides resolved URL
- Station stream → Audio decode and processing: supplies audio data
- Radio firmware → Audio decode and processing: controls playback
- Audio decode and processing → Cardputer audio output: outputs audio
- Audio decode and processing → Five-band equalizer: processes samples with
- Audio decode and processing → VU and spectrum: provides level data
- Radio firmware → Station logos: fetches station logo
- Station logos → Radio-browser service: looks up station address
- Station logos → microSD card: caches logo files
- Radio firmware → Sleep and charge screens: manages timers and charging
- Radio firmware → Multiscript text: renders localized text