In pursuing my project ( Audio control, conferencing and multi-room audio ), I decided to tryout the ReSpeaker XMOS XVF3800 with XIAO ESP32-S3 for microphone input, TTS and music playback, and acoustic echo cancellation (AEC).
My wishlist:
Must: Drive two ~100 W speakers with decent audio quality. Realistically, a 2x 50 W amplifier should be sufficient.
Must: Cost-effective. I plan to build 7–10 satellites, so price matters. Ideally $120-150 per satellite for DAC + amplifier.
Nice to have: Direct Bluetooth connection for smartphone playback.
Nice to have: Potentiometer for volume and bass/treble control.
Nice to have: Quiet operation - no fan noise.
Nice to have: Remote control and/or integration with smart-home systems.
From what I can see, there are a few protocol options:
I2S Amplifier
Typically more expensive and harder to source.
Benefit:
Since the signal stays digital until the power stage, this should offer excellent audio quality.
Drawbacks:
Requires 3-4-wire I2S cabling to each satellite.
Because these amps are rare, replacement or future availability may be an issue.
I2S → SPDIF → SPDIF Amplifier
Benefit:
Cabling can be just optical or 2-core coax.
Drawbacks:
I2S → SPDIF conversion may introduce a bit of latency, which could complicate AEC.
SPDIF-input amplifiers tend to be more expensive.
The ReSpeaker seems to provide a master clock, so I2S shouldn’t be a problem.
I2S → DAC → Analog Amplifier
Benefits:
DACs and analog amps are relatively cheap, available, and easy to replace.
May offer the best price/performance ratio.
Drawbacks:
Multiple conversions (digital → analog → power stage) might result in lower quality compared to the all-digital paths.
Requires reasonably good analog cabling between DAC and amplifier.
Hardware options I’ve evaluated
Wondom TDA4100 DSP BT (JAB5)
Benefits:
4x 100 W
I2S input
Bluetooth
Good features on paper
Drawbacks:
Some negative reviews on Wondom modules
TDA7498E seems doesn’t have the best reputation for hi-fi.
Includes a fan, though since the board is over-spec’d it may not run loudly.
Wondom TAS5768 DIOP2 (AA-AB32257)
Benefits:
I2S amplifier based on a chipset with better specs.
2x 50 W
Drawback:
No Bluetooth.
Could be enough for my needs.
HiFiBerry Amp4 Pro
Benefits:
Seems to be a qualitative option.
Drawback:
2x 30 W, but should be still enough.
Not intended to be used with an ESP32, and the manufacturer says it should not be even attempted.
Thanks for the clear write-up. I will keep following progess on this, especially about your AEC experiences.
About I2S->DAC-> analog amp
I2S and DAC are often combined on one pcb which makes it a affortable option. I’ve build a few esp speakers with different component but to be honest I didn’t notice much or any degration. Since these are not expensive I would advice to get one first to test. If it is not suitable for you then not much is lost and it is easy to swap it for a different one
Huh impeccable timing I would say as I have been thinking of the same thought this morning are you using the esphome config provided here
Are you planning to use the I2S output from integrated esp32s3 ? I know there is a DAC / Codec on XVF3800, Is its i2s out provided through one of the pins on integrated Xiao esp32s3 ?
If this along with AEC is possible I aim to build a diy wooden enclosure for the whole thing inspired from the looks of Marshal Acton III (pic attached here for reference)
Thanks. I’ve ordered a Youmile PCM5102 DAC and a Hailege TPA3118D2 (2x 45 W) amp in the hope that they will meet my requirements.
I’m also thinking a lot about an I2S amp. At the core, if it breaks and there’s no replacement available, I can still fall back to the DAC path. But yeah, it’s about ~$70 more expensive.
Yes, I plan to use it for the DAC/amp/speakers. If I understand correctly, there should be two I2S interfaces - one for the microphones and one for my needs.
Same here. I’ll see how it goes - and I’m also planning something wooden to avoid plastic, and because I have zero experience with 3D printers
Well an update after some research on XMOS xvf3800 official docs, pinout docs and seeed studio respaker xvf3800 wiki …
The Seeed Studio ReSpeaker XVF3800 is offered in two variants—one without XIAO and another with the XIAO ESP32S3 onboard. The version without XIAO operates with default USB firmware. To use the XIAO-integrated version, you must flash firmware built for INT-Device (I2S) mode. For detailed setup instructions, refer to the official wiki guide.
In INT-Device configurations the XVF3800 operates as an I2S slave receiving a reference audio signal from the integrated esp32s3 host and returning processed microphone signals to the integrated esp32s3 host .
I2S_DATA1 on esp32s3 - Processed mic audio from XVF3800 is routed to onboard ESP32S3
I2S_DATAQ on esp32s3 - Audio or Music is routed from integrated ESP32S3 to XVF3800 on Respeaker board for AEC Reference - This is further connected to onboard TLV320AIC3104 DAC and provides output via 3.5 mm jack or JST speaker interface supporting 5W amplified speakers
So If we want AEC, audio by default will be routed using the integrated TLV320AIC3104 DAC which provides 24 bit / 48 KHz. No external DAC is required as we can connect an amp to the 3.5mm jack !
I don’t think is a way to get free i2s pins on respeaker xvf3800 board and connect it to a 24 bit / 192kHz external DAC !! May be on the integrated Xiao esp32s3 , you can configure an extra pin as I2S out and connect an external dac to it . However you loose the AEC provided by xvf3800 n this case.
Thank you for your research! I got mine now, but I wasn’t able to play with it much. However, I was able to flash the USB firmware first to test it as a microphone, and I am very impressed by the distance capability. The quality seems to be OK. I need to play with it more.
This is very unfortunate, because I would probably have up to 7 meters between the ReSpeaker and the amplifier, and up to 3 meters between the amplifier and the speakers.
At least I could try an ADC/SPDIF solution. I’m not sure it will work with AEC because of the delay.
I can use it as a microphone and audio output if I flash respeaker_xvf3800_usb_dfu_firmware_v2.0.7.bin. However, if I flash respeaker_xvf3800_i2s_master_dfu_firmware_v1.0.5_48k.bin, it is no longer recognized by DFU and does not do much. When flashing respeaker_xvf3800_i2s_dfu_firmware_v1.0.4.bin, it reacts to my voice at least, but I still can’t actually use it.