michel72
(Michel - espthings.io)
April 7, 2024, 4:42pm
1
While scouring the internet in search of an ESP32 amplifier capable of running ESPHome firmware, I discovered the Louder ESP32. This neat unit comprises an external I2S DAC, perfectly able to drive 2 full-sized speakers, and a external PSRAM chip.
Sadly there was no ESPHome support yet, so with a little help from the boards developer, a little chatGPT magic and myself, I created a custom component to drive this “high power” DAC/AMP. I also filed a feature request here: TAS5805M support · Issue #2666 · esphome/feature-requests · GitHub
This board sounds great. You might want to try this yourself. I have no stock in his Tindy store, paid for this myself but it still recommend this board to anyone looking for a ESPHome capable (stereo) smart speaker.
Check out: GitHub - HA-TB303/ESPHome-Louder-ESP32: ESPhome configuration for the Louder ESP32 board or my blog article: Louder ESP32, a Hi-Fi Class-D audio amplifier running ESPHome! - espthings.io
Ehm… yes, you could also run Squeezelite-ESP32, a multimedia software that supports Spotify’s over-the-air player via SpotifyConnect, an AirPlay controller compatible with iPhone, iTunes, and even multiroom synchronization capabilities, but…why?
2 Likes
nickrout
(Nick Rout)
April 7, 2024, 7:36pm
2
There was one in stock - none now
Thanks for the pointer.
michel72
(Michel - espthings.io)
April 7, 2024, 8:03pm
3
Let is know if you like it
My opinion is as unbiased as opinions usually get love to hear yours!
nickrout
(Nick Rout)
April 7, 2024, 8:11pm
4
I have an extensive LMS setup so will be able to test synchronisation.
By the way your blog post is incorrect to say synchronisation is only available for airplay. LMS synchronizes all LMS devices if they are really LMS devices.
1 Like
michel72
(Michel - espthings.io)
April 7, 2024, 8:14pm
5
I was unable to test that, so I had to do with the information I could find about synchronization.
michel72
(Michel - espthings.io)
April 11, 2024, 7:55am
6
A few things:
The Louder ESP32 is sadly no longer available. I talked to the boards designer and he is going to replace the Louder ESP32 with the Louder Esparangus . That one might get the ESP32-S3 and a mems microphone as well as a header for external LED’s.
I have tried to get the DAC working on esp-idf framework, but so far have not succeeded. Wire.h is not supported on esp-idf so I have to work around that, but my C++ knowledge it not sufficiënt for that. Anybody able to help me out?
This is the current code:
//###########################################################################
//## ESPHome custom component for the Louder ESP32 ##
//## Get it here: https://www.tindie.com/products/sonocotta/louder-esp32/ ##
//##Check the blog article on www.espthings.io\ ##
//###########################################################################
#include "esphome.h"
#include <Wire.h>
#define DEVICE_CTRL_2_REGISTER 0x03
#define PWDN_PIN 33
#define I2C_ADDR 0x2D
class TAS5805 : public Component, public Switch {
public:
void setup() override {
pinMode(PWDN_PIN, OUTPUT);
digitalWrite(PWDN_PIN, LOW);
delay(200);
digitalWrite(PWDN_PIN, HIGH);
Wire.begin();
Wire.beginTransmission(I2C_ADDR);
if (Wire.endTransmission() != 0) {
ESP_LOGE("TAS5805", "TAS5805 not found at address 0x2D");
return;
}
Wire.beginTransmission(I2C_ADDR);
Wire.write(DEVICE_CTRL_2_REGISTER);
Wire.write(0x02);
Wire.endTransmission();
delay(50);
Wire.beginTransmission(I2C_ADDR);
Wire.write(DEVICE_CTRL_2_REGISTER);
Wire.write(0x03);
Wire.endTransmission();
ESP_LOGI("TAS5805", "TAS5805 initialized.");
}
void write_state(bool state) override {
uint8_t value = state ? 0x03 : 0x00;
Wire.beginTransmission(I2C_ADDR);
Wire.write(DEVICE_CTRL_2_REGISTER);
Wire.write(value);
Wire.endTransmission();
publish_state(state);
}
};
Which is switched on/off in esphome by:
switch:
- platform: custom
lambda: |-
auto tas5805 = new TAS5805();
App.register_component(tas5805);
return {tas5805};
switches:
name: "Enable Amp"
michel72
(Michel - espthings.io)
April 11, 2024, 11:49am
7
Checked with a pair of fresh eyes during lunch break
Works fine on arduido framework, but on esp-idf I get:
Compiling .pioenvs/louder-esp32/app_trace/app_trace.o
In file included from src/main.cpp:28:
src/louderesp32.h:7:10: fatal error: Wire.h: No such file or directory
**************************************************************
* Looking for Wire.h dependency? Check our library registry!
*
* CLI > platformio lib search "header:Wire.h"
* Web > https://registry.platformio.org/search?q=header:Wire.h
*
**************************************************************
#include <Wire.h>
^~~~~~~~
compilation terminated.
*** [.pioenvs/louder-esp32/src/main.o] Error 1
========================= [FAILED] Took 17.27 seconds =========================
d_tech
(Danny Yeadon)
June 28, 2024, 8:22am
8
about time there are alternatives to the expensive SONOS solutions. Keep up the good work
1 Like
rav101
(Ravi Jain)
October 10, 2024, 11:46am
9
Hey,
I’ve been looking at the louder-esp32s3 as it’s currently available on tindie with the ethernet module included. I was wondering if you’re using the barrel connector (limited to 5w per channel) or if you’re using an external PSU which allows you to get up to 23w per channel?
Would appreciate some guidance as I’m not really familiar with external PSU’s for boards like this that would have two bare wires you screw into terminals?
From what I can see, the Louder Esparagus is almost identical in terms of capability but is packaged up much nicer and uses usb-pd for power but that adds on a fair bit of premium compared to using this in a more obviously DIY manner?
Shane5
November 15, 2024, 7:19pm
10
Would this work as a Music Assistant Target? Im keen to use music assistant with home assistant but dont have any targets. Would be good to be able to used a few of these around the house with ceiling speakers i feel.
nickrout
(Nick Rout)
November 15, 2024, 7:40pm
11
The Louder ESP32 certainly would because it uses squeezlite.
2 Likes
anabolyc
(Andriy Malyshenko)
January 1, 2025, 9:58pm
12
Hey folks, I’m a developer behind the mentioned device, was just running by, but happy to answer your questions. But wanted to clarify a few basics first.
Louder Esparagus and Louder-ESP32 are very close in hardware and audio capabilities in particular, Esparagus can be considered a more premium version with a case and few extras.
Louder-ESP32 uniquely comes with S3, originally for experimentation, but looking at community interest it is here to stay.
All boards support native ESPHome install, squeezelite-esp32 and snapcast firmware, the latter being the most experimental, and the first two extensively tested and working perfectly stable.
All boards are in active development, adding new features, and updating existing ones. I’m trying to keep stock available as much as I can, and planning to do so years ahead.
All boards come in the HiFi variant (line level output), a relatively low powered Loud version (5W stereo max98357) and the Louder (25W stereo TAS5805M). New flavor is coming in Q1 with a TPA3116 amp paired with PCM5100, which is both line-level and amp on the same board.
Again, I’m happy to answer questions, absorb feedback and contribute to the community, since I’m gaining so much being a part of it
2 Likes
synoniem
(synoniem)
January 11, 2025, 6:33pm
13
It would be great if you can make some code to use the Louder-ESP32-S3 in ESPhome. At the moment it will not build because of a missing Wire.h file.
nickrout
(Nick Rout)
January 11, 2025, 8:07pm
14
I suggest you post a fresh post with yaml, logs and the other usual information. As stated by the developer in the post above yours, the boards support esphome. If firmware is not compiling a bug may be present, or it may be a you issue. Impossible to say on the present info.
anabolyc
(Andriy Malyshenko)
January 12, 2025, 12:40pm
15
Hey, I just tried building esphome config using files here and it went without a hiccup. Latest HA, latest ESPHome.
Can you please share your logs and configs if you changed anything. Also, feel free to create an issue in the repo, that feels like more appropriate place for it.
anabolyc
(Andriy Malyshenko)
January 12, 2025, 9:47pm
17
I did a build cleanup and here is the fresh build log, can you please check compare with yours
INFO ESPHome 2024.12.2
INFO Reading configuration /config/esphome/esphome-web-f63c10.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing louder-esp32-s3 (board: esp32-s3-devkitc-1; framework: arduino; platform: platformio/[email protected] )
--------------------------------------------------------------------------------
Library Manager: Installing esphome/AsyncTCP-esphome @ 2.1.4
INFO Installing esphome/AsyncTCP-esphome @ 2.1.4
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/ESPAsyncWebServer-esphome @ 3.2.2
INFO Installing esphome/ESPAsyncWebServer-esphome @ 3.2.2
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/noise-c @ 0.1.6
INFO Installing esphome/noise-c @ 0.1.6
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Resolving dependencies...
INFO Resolving dependencies...
Library Manager: Installing esphome/libsodium @ 1.10018.4
INFO Installing esphome/libsodium @ 1.10018.4
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
Library Manager: Installing esphome/ESP32-audioI2S @ 2.0.7
INFO Installing esphome/ESP32-audioI2S @ 2.0.7
Unpacking [####################################] 100%
Library Manager: [email protected] has been installed!
INFO [email protected] has been installed!
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Dependency Graph
|-- AsyncTCP-esphome @ 2.1.4
|-- WiFi @ 2.0.0
|-- FS @ 2.0.0
|-- Update @ 2.0.0
|-- ESPAsyncWebServer-esphome @ 3.2.2
|-- DNSServer @ 2.0.0
|-- ESPmDNS @ 2.0.0
|-- noise-c @ 0.1.6
|-- Wire @ 2.0.0
|-- WiFiClientSecure @ 2.0.0
|-- HTTPClient @ 2.0.0
|-- ESP32-audioI2S @ 2.0.7
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/captive_portal/captive_portal.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/custom/switch/custom_switch.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/esp32/core.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/esp32/gpio.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/esp32/preferences.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/esphome/ota/ota_esphome.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/i2c/i2c.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/i2c/i2c_bus_arduino.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/i2c/i2c_bus_esp_idf.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/i2s_audio/i2s_audio.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/i2s_audio/media_player/i2s_audio_media_player.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/logger/logger_esp32.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/logger/logger_esp8266.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/logger/logger_host.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/logger/logger_libretiny.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/logger/logger_rp2040.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/mdns/mdns_esp32.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/mdns/mdns_host.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/mdns/mdns_libretiny.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/mdns/mdns_rp2040.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/media_player/media_player.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/ota/ota_backend.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/ota/ota_backend_arduino_libretiny.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/psram/psram.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/safe_mode/safe_mode.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/socket/lwip_sockets_impl.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/socket/socket.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/switch/automation.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/switch/switch.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/web_server_base/web_server_base.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/wifi/wifi_component_libretiny.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/components/wifi/wifi_component_pico_w.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/application.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/color.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/component.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/component_iterator.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/controller.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/log.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/ring_buffer.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/string_ref.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/time.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/esphome/core/util.cpp.o
Compiling .pioenvs/louder-esp32-s3/src/main.cpp.o
Building .pioenvs/louder-esp32-s3/bootloader.bin
Creating esp32s3 image...
Successfully created esp32s3 image.
Generating partitions .pioenvs/louder-esp32-s3/partitions.bin
Compiling .pioenvs/louder-esp32-s3/lib1ed/AsyncTCP-esphome/AsyncTCP.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFi.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiAP.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib1ed/libAsyncTCP-esphome.a
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiClient.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiGeneric.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiMulti.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiSTA.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiScan.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiServer.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib64d/WiFi/WiFiUdp.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib01c/FS/FS.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib01c/FS/vfs_api.cpp.o
Compiling .pioenvs/louder-esp32-s3/libbc6/Update/HttpsOTAUpdate.cpp.o
Compiling .pioenvs/louder-esp32-s3/libbc6/Update/Updater.cpp.o
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/AsyncEventSource.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib64d/libWiFi.a
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/AsyncWebSocket.cpp.o
Archiving .pioenvs/louder-esp32-s3/libbc6/libUpdate.a
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/WebAuthentication.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib01c/libFS.a
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/WebHandlers.cpp.o
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/WebRequest.cpp.o
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/WebResponses.cpp.o
Compiling .pioenvs/louder-esp32-s3/libf46/ESPAsyncWebServer-esphome/WebServer.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib333/DNSServer/DNSServer.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib915/ESPmDNS/ESPmDNS.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c.o
Archiving .pioenvs/louder-esp32-s3/lib333/libDNSServer.a
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_core/ed25519/core_ed25519.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_core/ed25519/core_ristretto255.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_core/salsa/ref/core_salsa_ref.c.o
Archiving .pioenvs/louder-esp32-s3/lib915/libESPmDNS.a
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/generichash_blake2.c.o
Archiving .pioenvs/louder-esp32-s3/libf46/libESPAsyncWebServer-esphome.a
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_hash/crypto_hash.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_hash/sha256/hash_sha256.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_hash/sha512/hash_sha512.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2-core.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2-encoding.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/argon2.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/blake2b-long.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/pwhash_argon2i.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_pwhash/argon2/pwhash_argon2id.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_scalarmult/crypto_scalarmult.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_sign/crypto_sign.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_sign/ed25519/ref10/keypair.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_sign/ed25519/ref10/obsolete.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_sign/ed25519/ref10/open.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_sign/ed25519/ref10/sign.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_sign/ed25519/sign_ed25519.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/chacha20/stream_chacha20.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/crypto_stream.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/salsa20/ref/salsa20_ref.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/salsa20/stream_salsa20.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6-asm.S.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/crypto_verify/sodium/verify.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/randombytes/internal/randombytes_internal_random.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/randombytes/randombytes.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/randombytes/sysrandom/randombytes_sysrandom.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/sodium/codecs.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/sodium/core.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/sodium/runtime.c.o
Compiling .pioenvs/louder-esp32-s3/lib9ac/libsodium/sodium/utils.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/openssl/cipher-aesgcm.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/ref/cipher-aesgcm.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/ref/cipher-chachapoly.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/ref/dh-curve25519.c.o
Archiving .pioenvs/louder-esp32-s3/lib9ac/libsodium.a
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/ref/hash-blake2b.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/ref/hash-blake2s.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/ref/hash-sha256.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/sodium/cipher-aesgcm.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/sodium/cipher-chachapoly.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/sodium/dh-curve25519.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/sodium/hash-blake2b.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/backend/sodium/hash-sha256.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/aes/rijndael-alg-fst.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/blake2/blake2b.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/blake2/blake2s.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/chacha/chacha.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/donna/curve25519-donna-c64.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/donna/curve25519-donna.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/donna/poly1305-donna.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/sha2/sha256.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/sha2/sha512.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/crypto/x25519/x25519.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/cipherstate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/dhstate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/errors.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/handshakestate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/hashstate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/internal.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/names.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/patterns.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/rand_os.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/rand_sodium.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/randstate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/signstate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/symmetricstate.c.o
Compiling .pioenvs/louder-esp32-s3/lib400/noise-c/protocol/util.c.o
Compiling .pioenvs/louder-esp32-s3/lib4fc/Wire/Wire.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib400/libnoise-c.a
Compiling .pioenvs/louder-esp32-s3/libb0f/WiFiClientSecure/WiFiClientSecure.cpp.o
Compiling .pioenvs/louder-esp32-s3/libb0f/WiFiClientSecure/esp_crt_bundle.c.o
Compiling .pioenvs/louder-esp32-s3/libb0f/WiFiClientSecure/ssl_client.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib2f0/HTTPClient/HTTPClient.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib4fc/libWire.a
Compiling .pioenvs/louder-esp32-s3/lib463/ESP32-audioI2S/Audio.cpp.o
Compiling .pioenvs/louder-esp32-s3/lib463/ESP32-audioI2S/aac_decoder/aac_decoder.cpp.o
Archiving .pioenvs/louder-esp32-s3/libb0f/libWiFiClientSecure.a
Compiling .pioenvs/louder-esp32-s3/lib463/ESP32-audioI2S/flac_decoder/flac_decoder.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib2f0/libHTTPClient.a
Compiling .pioenvs/louder-esp32-s3/lib463/ESP32-audioI2S/mp3_decoder/mp3_decoder.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/Esp.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/HWCDC.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/IPAddress.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/IPv6Address.cpp.o
Archiving .pioenvs/louder-esp32-s3/lib463/libESP32-audioI2S.a
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/MD5Builder.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/Print.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/Stream.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/StreamString.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/Tone.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/USB.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/USBCDC.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/USBMSC.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/WMath.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/WString.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/base64.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/cbuf.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-time.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/libb64/cdecode.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/libb64/cencode.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/main.cpp.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/stdlib_noniso.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/wiring_pulse.c.o
Compiling .pioenvs/louder-esp32-s3/FrameworkArduino/wiring_shift.c.o
Archiving .pioenvs/louder-esp32-s3/libFrameworkArduino.a
Linking .pioenvs/louder-esp32-s3/firmware.elf
RAM: [= ] 13.4% (used 43904 bytes from 327680 bytes)
Flash: [= ] 14.9% (used 1208685 bytes from 8126464 bytes)
Building .pioenvs/louder-esp32-s3/firmware.bin
Creating esp32s3 image...
Successfully created esp32s3 image.
esp32_create_combined_bin([".pioenvs/louder-esp32-s3/firmware.bin"], [".pioenvs/louder-esp32-s3/firmware.elf"])
Wrote 0x1372f0 bytes to file /data/build/louder-esp32-s3/.pioenvs/louder-esp32-s3/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/louder-esp32-s3/firmware.bin"], [".pioenvs/louder-esp32-s3/firmware.elf"])
========================= [SUCCESS] Took 42.53 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.244 port 3232...
INFO Connected to 192.168.1.244
INFO Uploading /data/build/louder-esp32-s3/.pioenvs/louder-esp32-s3/firmware.bin (1209072 bytes)
Uploading: [============================================================] 100% Done...