126 lines
2.8 KiB
YAML
126 lines
2.8 KiB
YAML
packages:
|
|
jarvis-satellite-led: !include jarvis-satellite-led.yaml
|
|
jarvis-satellite-voice: !include jarvis-satellite-voice.yaml
|
|
jarvis-satellite-audio: !include jarvis-satellite-audio.yaml
|
|
jarvis-satellite-ui: !include jarvis-satellite-ui.yaml
|
|
|
|
substitutions:
|
|
# Flash & PSRAM
|
|
flash_size: "8MB"
|
|
psram_mode: "quad"
|
|
psram_speed: "80MHz"
|
|
# CPU Frequency
|
|
cpu_frequency: "240MHz"
|
|
|
|
# I2S Microphone pins
|
|
i2s_in_lrclk_pin: GPIO6
|
|
i2s_in_bclk_pin: GPIO7
|
|
mic_din_pin: GPIO4
|
|
|
|
# I2S Speaker pins
|
|
i2s_out_lrclk_pin: GPIO45
|
|
i2s_out_bclk_pin: GPIO46
|
|
speaker_dout_pin: GPIO8
|
|
|
|
# LED bar
|
|
led_pin: GPIO16
|
|
led_num_leds: "8"
|
|
|
|
# Microphone sensitivity (tuned for INMP441)
|
|
mic_noise_suppression_level: "2"
|
|
mic_auto_gain: "10dBFS"
|
|
mic_volume_multiplier: "4.0"
|
|
|
|
# Button pins
|
|
btn_vol_up_pin: GPIO1
|
|
btn_vol_down_pin: GPIO2
|
|
btn_mute_pin: GPIO3
|
|
btn_wake_pin: GPIO10
|
|
|
|
# Change this to true in case you have a hidden SSID at home.
|
|
hidden_ssid: "true"
|
|
|
|
|
|
globals:
|
|
- id: volume_level
|
|
type: float
|
|
restore_value: true
|
|
initial_value: '0.8'
|
|
|
|
esphome:
|
|
platformio_options:
|
|
board_build.flash_mode: dio
|
|
on_boot:
|
|
- priority: -100
|
|
then:
|
|
- lambda: id(spk).set_volume(id(volume_level));
|
|
|
|
esp32:
|
|
board: esp32-s3-devkitc-1
|
|
variant: esp32s3
|
|
cpu_frequency: ${cpu_frequency}
|
|
flash_size: ${flash_size}
|
|
framework:
|
|
type: esp-idf
|
|
version: recommended
|
|
sdkconfig_options:
|
|
CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
|
|
CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
|
|
CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"
|
|
CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB: "y"
|
|
|
|
# Moves instructions and read only data from flash into PSRAM on boot.
|
|
# Both enabled allows instructions to execute while a flash operation is in progress without needing to be placed in IRAM.
|
|
# Considerably speeds up mWW at the cost of using more PSRAM.
|
|
CONFIG_SPIRAM_RODATA: "y"
|
|
CONFIG_SPIRAM_FETCH_INSTRUCTIONS: "y"
|
|
|
|
CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST: "y"
|
|
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY: "y"
|
|
|
|
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC: "y"
|
|
CONFIG_MBEDTLS_SSL_PROTO_TLS1_3: "y"
|
|
|
|
wifi:
|
|
id: wifi_id
|
|
fast_connect: ${hidden_ssid}
|
|
|
|
network:
|
|
enable_ipv6: true
|
|
|
|
http_request:
|
|
|
|
web_server:
|
|
port: 80
|
|
|
|
psram:
|
|
mode: ${psram_mode}
|
|
speed: ${psram_speed}
|
|
|
|
captive_portal:
|
|
|
|
api:
|
|
encryption:
|
|
key: !secret api_encryption_key
|
|
on_client_connected:
|
|
- delay: 50ms
|
|
- if:
|
|
condition:
|
|
not:
|
|
lambda: 'return id(mww).is_running();'
|
|
then:
|
|
- micro_wake_word.start:
|
|
on_client_disconnected:
|
|
- micro_wake_word.stop:
|
|
- voice_assistant.stop:
|
|
|
|
logger:
|
|
level: DEBUG
|
|
logs:
|
|
micro_wake_word: DEBUG
|
|
voice_assistant: DEBUG
|
|
|
|
ota:
|
|
- platform: esphome
|
|
password: !secret ota_password
|