Portable Squeezebox player using a TTGO TAudio (T9) running Squeezelite-ESP32 in mini a 3d printed case.
Squeezebox SPDIF player using a TTGO T-Embed module. Now with Rhasspy Satellite compatibility!
Squeezebox Bluetooth controller using a TTGO T-Watcher (T4) module (to interface with BT speakers)
Portable Squeezebox player based on an existing Bluetooth Soundbar.
This project was designed for a Squeezelite-ESP32 project used with Home-Assistant as an audio and visual notification device.
Case supports
Step files in case folder. Print with natural white PLA (translucent) for LEDs NOTE: The board is a sketch only. Dimensions may not be accurate.
Use the Projects Web-Installer, or flash the current Squeezelite-ESP32 firmware.
For squeezelite-esp32 configuration use "I2S Dac" audio output mode (or Bluetooth)
Hardware Options | NVS Key | Value |
---|---|---|
DAC | dac_config | model=WM8978,bck=33,ws=25,do=26,sda=19,scl=18,i2c=26 |
Led Strip | led_vu_config | WS2812,length=19,gpio=22 |
bat_config | channel=7,scale=6.8,atten=3,cells=1 | |
actrls_config | buttons (see below) | |
SPDIF Config* | spdif_config | bck=33,ws=25,do=15 |
Suggested configuration for buttons using one of the display caps. (The navigation is a little fiddly, but useable in a crunch)
buttons
[{"gpio":34,"type":"BUTTON_LOW","pull":true,"long_press":600, "normal":{"pressed":"ACTRLS_VOLDOWN"}, "longpress":{"pressed":"ACTRLS_PREV"}}, {"gpio":39,"type":"BUTTON_LOW","pull":true,"long_press":600, "normal":{"pressed":"ACTRLS_VOLUP"}, "longpress":{"pressed":"ACTRLS_NEXT"}}, {"gpio":36,"type":"BUTTON_LOW","pull":true,"long_press":600, "normal":{"pressed":"ACTRLS_TOGGLE"}, "longpress":{"pressed":"buttons_nav"}} ]
buttons_nav
[{"gpio":34,"type":"BUTTON_LOW","pull":true,"long_press":600, "normal":{"pressed":"BCTRLS_DOWN"}, "longpress":{"pressed":"BCTRLS_LEFT"}}, {"gpio":39,"type":"BUTTON_LOW","pull":true,"long_press":600, "normal":{"pressed":"BCTRLS_UP"}, "longpress":{"pressed":"BCTRLS_RIGHT"}}, {"gpio":36,"type":"BUTTON_LOW","pull":true,"long_press":600, "normal":{"pressed":"ACTRLS_PLAY"}, "longpress":{"pressed":"buttons"}} ]
Note: Do not set the "green" GPIO option as it shares gpio with the Led strip
Backup files for squeezelite-ESP32 in config folder
Example yaml files for Home-Assistant in hass folder
Been experimenting with the SPDIF output options, as the performance (especially with a 32bit build) is much better. Came up with a solution using a SDRAM extension adapter and toslink transmitter soldered (and epoxied) to the back. I'm using pins 4 and 6 for 3.3V power and pin 3 (GPIO15, DAT0) for the data output. NOTE: GPIO2 physically made a neater solution, but did not work
I trimmed the rear IO header to prevent interference with the 1200mA battery (see why it doesn't really matter below). With a different 1250mAh battery, it was not necessary.
The T9 board has nearly everything that you need, although there are a couple of issues.
I haven't yet found a suitable speaker for a "speaker cap" option (as mentioned, will need a driver amp board as well)
If you have issues with getting the server plugin to install, it may be necessary to install the standard SqueezeESP2 plugin and manually update the files on the server. (On the linux docker, this is located in the mounted config folder /config/cache/InstalledPlugins/Plugins/SqueezeESP32)