Skip to content

Instantly share code, notes, and snippets.

@CountParadox
Created April 26, 2026 11:48
Show Gist options
  • Select an option

  • Save CountParadox/15556738ebd552c9b18e61b9e0715377 to your computer and use it in GitHub Desktop.

Select an option

Save CountParadox/15556738ebd552c9b18e61b9e0715377 to your computer and use it in GitHub Desktop.
substitutions:
name: sendspin-eth
friendly_name: Sendspin ETH
media_sample_rate: 48000
## SENDSPIN SETTINGS #############################################################################################################################
external_components:
- source:
# https://github.com/esphome/esphome/pull/14933
type: git
url: https://github.com/kahrendt/esphome
ref: 89dd9fb3173a6ae7d5c730fa671f6089d7c9a2b8
components: [const, media_source, sendspin, generic_image]
- source:
# https://github.com/esphome/esphome/pull/12429
type: git
url: https://github.com/esphome/esphome
ref: ff8ce89556748509d7ee8724e12d9d43d3c8c1e8
refresh: 0s
components: [http_request]
## END OF SETTINGS ###############################################################################################################################
esphome:
name: ${name}
friendly_name: ${friendly_name}
min_version: 2026.1.0
name_add_mac_suffix: false
esp32:
variant: esp32s3
framework:
type: esp-idf
logger:
level: warn
api:
ota:
- platform: esphome
psram:
mode: quad
speed: 80MHz
ethernet:
type: W5500
cs_pin: GPIO14
interrupt_pin: GPIO10
reset_pin: GPIO9
mosi_pin: GPIO11
clk_pin: GPIO13
miso_pin: GPIO12
sendspin:
id: sendspin_hub
task_stack_in_psram: false
http_request:
buffer_size_rx: 2048
i2s_audio:
- id: i2s_audio_bus
i2s_lrclk_pin: GPIO17
i2s_bclk_pin: GPIO18
speaker:
- platform: i2s_audio
id: box_speaker
i2s_audio_id: i2s_audio_bus
i2s_dout_pin: GPIO16
dac_type: external
channel: stereo
- platform: mixer
id: mixing_speaker
output_speaker: box_speaker
num_channels: 2
task_stack_in_psram: true
source_speakers:
- id: announcement_mixing_input
- id: media_mixing_input
- platform: resampler
id: announcement_resampling_speaker
output_speaker: announcement_mixing_input
sample_rate: ${media_sample_rate}
bits_per_sample: 16
- platform: resampler
id: media_resampling_speaker
output_speaker: media_mixing_input
sample_rate: ${media_sample_rate}
bits_per_sample: 16
media_source:
- platform: http_request
id: http_announcement_source
buffer_size: 250000
- platform: http_request
id: http_media_source
buffer_size: 500000
- platform: sendspin
id: sendspin_media_source
media_player:
- platform: sendspin
id: sendspin_group_media_player
name: Sendspin Group Media Player
- platform: speaker_source
id: external_media_player
name: Media Player
announcement_pipeline:
format: FLAC
num_channels: 1
sample_rate: ${media_sample_rate}
speaker: announcement_resampling_speaker
sources:
- http_announcement_source
media_pipeline:
format: FLAC
num_channels: 2
sample_rate: ${media_sample_rate}
speaker: media_resampling_speaker
sources:
- http_media_source
- sendspin_media_source
volume_increment: 0.05
volume_min: 0.4
volume_max: 0.9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment