I've decided to separate the SqueezeAMP (HW) and the SqueezeliteESP32 (SW) threads for better clarity. So, this is a sort of re-announce of the software only work that we are doing with @sle118 and contributions from @daduke.
The Squeezelite-ESP32 shall not be confused with the squeezeesp32 project that was doing a native re-implementation of the slimproto on ESP8266/ESP32 devices, even with very small memory. This project is a port of Squeezelite to ESP32 devices that have at least 4MB of flash and 4MB os SRAM (e.g. WROVER modules, but not WROOM). The project technical part lives here https://github.com/sle118/squeezelite-esp32 and you'll find all the details how configure it.
Display is very much like a Boom/SB3/Transporter with a few visual improvements as height is larger than classical SB. It supports VU-meter, spectrum analyzer, artwork. Note that display, Buttons, Rotary encoder, InfraRed, SPDIF, I2S DAC are all optional. I strongly recommend using Michael's plugin MusicInfoSCR to wteak display.
There are pre-existing builds for SqueezeAMP, ESP-A1S module based devices and then a generic I2S version. All option can be sets by a dedicated web interface, so you can use the I2S generic version as well on the SqueezeAMP and the ESP-A1S, it's just more config work on you :). Just look here https://github.com/sle118/squeezelit...ster/README.md
Example of kit using Espressif's native WROVER can be found here https://a.aliexpress.com/_dY83WTf and also using the 3rd-party ESP32-A1S module can be found here https://a.aliexpress.com/_dZMwS57 but again, any device based on these module will work. The main difference is that the WROVER does not include a DAC, you must add one where the A1S does have a build-in DAC.
Don't forget to add the LMS associated plugin here https://raw.githubusercontent.com/sl...lugin/repo.xml. It's not mandatory for the SqueezeESP32 to work, but if you want display or equalizer, then you need it.
If you don't use a SqueezeAMP where I pre-load the basic firmware then you should first flash your device with a version found here https://github.com/sle118/squeezelite-esp32/tags, download once of the .zip version and use the espressif download tool here https://www.espressif.com/en/support...ad/other-tools. You want to download:
You can also use the python downloader directly with
Once this is done, the ESP32 will broadcast a WiFi Access Point that you can use from any WiFi-enable device. Default password is 'squeezelite' and from there, follow the webUI to configure your device. Then, once it is connected o your home WiFi, connect to it again using any web browser and load a full firmware. Again, look at the README on github. You should never had to use again this initial download procedure (unless you want to or have bricked your device), all updated can be done through the WebUI.
We are maintaining two versions that will merge at some point: The "bleeding edge" (maintained by @sle118) with used a more version of the espressif toolkit and a better UI interface (including using display during firmware update) and the "classical" version I'm maintaining which is using an older version of espressif's kit but this is where I do more tests and introduce audio & display features. You can flip-flop between version.
The Squeezelite-ESP32 shall not be confused with the squeezeesp32 project that was doing a native re-implementation of the slimproto on ESP8266/ESP32 devices, even with very small memory. This project is a port of Squeezelite to ESP32 devices that have at least 4MB of flash and 4MB os SRAM (e.g. WROVER modules, but not WROOM). The project technical part lives here https://github.com/sle118/squeezelite-esp32 and you'll find all the details how configure it.
- full port of squeezelite (up to 192kHz samplerate, but 16 bits only)
- pcm, wav, aif, alac, flac, mp3, ogg, ogf, ops, aac (mp4) codecs
- resampling to and from any rate
- 10-bands equalizer
- synchronization with other squeezeboxes
- output to I2S DAC. Special drivers exist for TAS5754/56/13/80 and AC101 but most I2S-connected DAC will work and it's possible to configure rudimentary I2C commands.
- SPDIF output using one wire
- Bluetooth source to send LMS audio to a BT speaker
- Bluetooth sink (play from any BT-capable devices, iPhone, Android ...)
- AirPlay sink with synchronization (play from any iOS/iTunes or compatible device)
- Display support for monochrome SH1106 (128x64), SSD1306 (128x32), grayscale SSD1322 (256x32), SSD1326 (256x64), SSD1327 (128x128), color 65k ST7735 (128x160) and ST7789 (240x320) with deemable backlight
- Buttons
- Rotary encoder
- InfraRed
- Control LED (green & red - both deemable)
- Web Interface for configuration and updates
Display is very much like a Boom/SB3/Transporter with a few visual improvements as height is larger than classical SB. It supports VU-meter, spectrum analyzer, artwork. Note that display, Buttons, Rotary encoder, InfraRed, SPDIF, I2S DAC are all optional. I strongly recommend using Michael's plugin MusicInfoSCR to wteak display.
There are pre-existing builds for SqueezeAMP, ESP-A1S module based devices and then a generic I2S version. All option can be sets by a dedicated web interface, so you can use the I2S generic version as well on the SqueezeAMP and the ESP-A1S, it's just more config work on you :). Just look here https://github.com/sle118/squeezelit...ster/README.md
Example of kit using Espressif's native WROVER can be found here https://a.aliexpress.com/_dY83WTf and also using the 3rd-party ESP32-A1S module can be found here https://a.aliexpress.com/_dZMwS57 but again, any device based on these module will work. The main difference is that the WROVER does not include a DAC, you must add one where the A1S does have a build-in DAC.
Don't forget to add the LMS associated plugin here https://raw.githubusercontent.com/sl...lugin/repo.xml. It's not mandatory for the SqueezeESP32 to work, but if you want display or equalizer, then you need it.
If you don't use a SqueezeAMP where I pre-load the basic firmware then you should first flash your device with a version found here https://github.com/sle118/squeezelite-esp32/tags, download once of the .zip version and use the espressif download tool here https://www.espressif.com/en/support...ad/other-tools. You want to download:
- ota_data_initial.bin at 0xd000
- bootloader.bin at 0x1000
- partition-table.bin at 0x8000
- recovery.bin at 0x10000
You can also use the python downloader directly with
Code:
python ${IDF_PATH}/components/esptool_py/esptool/esptool.py --chip esp32 --port ${ESPPORT} --baud ${ESPBAUD} --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0xd000 ota_data_initial.bin 0x1000 bootloader.bin 0x10000 recovery.bin 0x8000 partitions.bin
We are maintaining two versions that will merge at some point: The "bleeding edge" (maintained by @sle118) with used a more version of the espressif toolkit and a better UI interface (including using display during firmware update) and the "classical" version I'm maintaining which is using an older version of espressif's kit but this is where I do more tests and introduce audio & display features. You can flip-flop between version.