Repository navigation
v0.2.2
evo-esp32 0.2.2 for the Waveshare ESP32-C5-Touch-LCD-2.8: a standalone music player, the evo fabric on a microcontroller.
Files. Three matter: evo-esp32-waveshare-esp32-c5-touch-lcd-28-0.2.2.factory.bin, the firmware for a board flashed over USB (the first time, or to start over); evo-esp32-waveshare-esp32-c5-touch-lcd-28-0.2.2.ota.bin, the same firmware for a player that already runs evo-esp32, sent from its web page or put on its card; and evo-esp32-sdcard-0.2.2.zip, the card folder (the settings file and a list of radio stations). evo-esp32-waveshare-esp32-c5-touch-lcd-28.manifest.json is what a player reads to learn of this release by itself. SHA256SUMS is for checking the download; the "Source code" archives are the code, not something to flash.
Install
-
esptool 5 on your computer. With Python:
pip install esptool(Windows:py -m pip install esptool). Without Python: the standaloneesptoolbinary for Windows, macOS or Linux from esptool's releases. -
Plug the board in over its USB-C port. It appears as a serial port with no driver to install: Windows
COM3or similar (Device Manager, Ports), macOS/dev/cu.usbmodem…, Linux/dev/ttyACM0(your user in thedialoutgroup, orsudo). -
Flash, with your port in place of
PORT:esptool --chip esp32c5 --port PORT write-flash 0x0 evo-esp32-waveshare-esp32-c5-touch-lcd-28-0.2.2.factory.binesptool verifies the write by itself. If it cannot connect, hold the board's BOOT button while plugging it in, then run the command again.
-
The card. A FAT32 microSD card (32 GB or less works as sold). Unzip the card folder onto its root:
evoconfig.txt(open it in any text editor and fill in your Wi-Fi name and password) andRadio/, the stations; ashareline there names a NAS share or export for the library's Network page. Put your music in folders of your own anywhere on the card: FLAC, WAV and MP3, 44.1 to 96 kHz, withcover.jpgin an album's folder for its picture. Insert the card. -
Power on. The music starts within a few seconds; the network joins behind it (its address is in Settings). Tap the Library tab: Card is the card's folders and
Radio, a tap on a station plays it; Network is the media servers on your network (a NAS, Plex, MiniDLNA, Volumio), their folders and tracks.evostatus.txton the card says what the player read and whether it joined.
Every setting, the Settings page, where the controls are in each style, and internet radio (your own .m3u/.pls files, station logos): Configuration. What the board can and cannot play: Hardware.
Updating a player that already runs evo-esp32 0.1.7 or later: it looks for a newer release once a day and says so in Settings (the Update › row) and on its page at http://<player name>.local/; two taps on the row, or Install on the page, fetch it and restart the player into it — a minute or two; keep it powered meanwhile, and wait for the face to come back before touching anything: the new firmware runs on trial first and confirms itself after a healthy minute, and a power cut during that minute returns the player to the firmware it had. The page also takes the .ota.bin from your computer, and a copy of it in the card's root is applied at the next power-on. Every image is signed; the player accepts only images signed with the release key. A player on 0.1.6 or earlier takes the USB flash above once. The USB flash clears the device's stored network hint; the card keeps your settings, so leave it in.
Known in this release
- Music on the network: the library's Network page lists the DLNA (UPnP AV) media servers found on the network, and the shares named in
evoconfig.txt— SMB 2 or later (share = smb://nas/Music, with a user and password where the server wants one), SMB1 by name only for an old box (smb1://), and NFS 4.1 or 3 (nfs://nas/volume1/music) — each a tree of folders whose tracks play with the progress ring, seek, shuffle and repeat, as the card's. A file on a web server plays the same way from a playlist entry that carries its length. SMB 3.1.1 is spoken, signed and encrypted where the server requires it; NFS 4.1 where the server speaks it, 3 where it does not. - From the air: MP3, AAC (AAC-LC and HE-AAC), FLAC and Ogg Vorbis, as one stream or as HLS; the BBC's national stations are in the shipped list. An HE-AAC station is the heaviest thing the board does and plays in real time with a little of the core to spare.
- Multiroom three ways, see Multiroom: the player is a Snapcast client (a server named in
evoconfig.txtor found on the network); it is a device in Volumio's Multiroom, found and grouped from Volumio's own screen, with its cover and no volume slider; and it is a room of an Evo multiroom group by its Evo id (bottom of Settings). - On the 2.4 GHz band, or with a weak signal, the status strip says so: a stream's timing wanders there. 5 GHz is the band for streams.
- 176.4 and 192 kHz files are beyond the chip and are greyed in the library; 96 kHz plays with the network up.
- The on-board codec is mono through its speaker and headphone output; stereo is a DAC board on the header (see Audio out).
- No over-the-air update yet: every update is this flash.
The changes in full: CHANGELOG.
Support this project
evo-esp32 is designed, built and maintained by one developer in his own time. If it has earned a place on your shelf, you can support its development:
- GitHub Sponsors: https://github.com/sponsors/foonerd
- Ko-fi: https://ko-fi.com/justanerd
evo-esp32 is provided as-is: the fabric and this firmware under the Business Source License 1.1 (converting to Apache 2.0 four years after each release), the SDK others implement against under Apache 2.0. Sponsorship is a thank-you, not a purchase: it buys no priority, no features and no support agreement.