wizmo2 / TAudio-Case

Wizmo Projects Page
7 stars 1 forks source link

Squeezelite-ESP32 DIY Projects

Squeezebox-Spinner (TAudio-case)

Portable Squeezebox player using a TTGO TAudio (T9) running Squeezelite-ESP32 in mini a 3d printed case.

Case Model

Squeezebox-Tembed

Squeezebox SPDIF player using a TTGO T-Embed module. Now with Rhasspy Satellite compatibility!

Tembed

Squeezebox-Dial

Squeezebox Bluetooth controller using a TTGO T-Watcher (T4) module (to interface with BT speakers)

Squeezebox-Soundbar

Portable Squeezebox player based on an existing Bluetooth Soundbar.

Squeezebox-Spinner

This project was designed for a Squeezelite-ESP32 project used with Home-Assistant as an audio and visual notification device.

youtube link

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.

Case Model

Configuration

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

Buttons

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

SPDIF

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

SPDIF-SD

General Notes.

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)