Could the new ESP32-S31 be a potential single-chip replacement for the ESP32-S3 + XMOS XU316 combo in next-gen Home Assistant Voice Preview Edition? #3743
Unanswered
Hedda
asked this question in
Experimental ideas
Replies: 1 comment
|
FYI, for reference, ESP32-S31 is now supported in ESPHome 2026.7 and later: |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Describe your idea
Could the new ESP32-S31 be a single-chip replacement for the ESP32-S3 + XMOS XU316 in the Home Assistant Voice Preview Edition?
That is, could the newly released ESP32 S31, which feature a fast dual-core RISC-V processor with built-in DSP (Digital Signal Processing) instructions do on-device inline audio processing in real-time / low-latency to eliminate most unwanted non-human noise (filtering away unwanted background sounds) to achieve "good enough" voice capture for the next-generation Home Assistant Voice PE reference hardware and bring futher life into the era of open voice assistants vision that Open Home Foundation / Home Assistant founder posted about when the first-generation was launched?
So. could the new ESP32 S31 be a capable platform for some types of inline audio processing to make it usable on is own?
Possibly also:
Either by utilizing Espressif's closed-source audio libraries and frameworks (like AFE), or open-source libraries like example SpeexDSP?
Does the introduction of the ESP32-S31 address the architectural bottlenecks that required Nabu Casa to use an XMOS XU316 in the original Home Assistant Voice Preview Edition hardware?
ESP32-S31 also feature additional bonus features and functions which could add extra value:
Unlike the XTensa architecture of the ESP32-S3, the new ESP32-S31 features a dual-core 32-bit RISC-V processor running at maximum of 320 MHz (compared to the the ESP32-S3's 240 MHz). ESP32-S31 also features much higher memory bandwidth with high-speed 250 MHz 8-bit DDR PSRAM (which give it a massive speed boost compared to the standard Octal PSRAM in the ESP32-S3) . But probably more crucially, the high-performance core in the ESP32-S31 features a 128-bit wide data path with SIMD (Single Instruction, Multiple Data) and FPU extensions. This hardware-level vector acceleration provides the math heavy-lifting to handle complex compute like Acoustic Echo Cancellation (AEC), Noise Suppression (NS) and Automatic Gain Control (AGC) algorithms directly on-chip, possibly eliminating the need for an XMOS DSP.
For detailed specification description and development kit hardware overview check out:
By the way, a slightly off-topic related request, should also note that another indirectly related idea for the next-generation Home Assistant Voice Preview Edition reference hardware could be off-load some non-voice processes to a second ESP32 "coprocessor" on same board via the SP32 Hosted component.
[REQUEST] Add an ESP32-S31 or ESP32-C6 as "coprocessor" and "IEEE 802.15.4 radio" module to future voice boards (making a single PCB that have two ESP32 SoCs) so that second SoC can be used as Touchscreen Display Controller and WiFi/BT communication coprocessor or Thread Border Router home-assistant-voice-pe#300
"ESP32 Hosted (ESP-Hosted-MCU) is a solution that allows you to use ESP32 modules as communication co-processors. This solution provides wireless connectivity (Wi-Fi and Bluetooth) to the host module, enabling it to communicate with other devices."
Because on the intial Home Assistant Voice Preview Edition hardware the ESP32-S3 need to also hande connectivity (Wi-Fi/Bluetooth) which puts further strains on its already constrained and limited resources.
Adding a second ESP32 (like example another ESP32-S31) via the esp32_hosted component it would enable ESPHome to use the second ESP32 to serve as a wireless communication co-processor, offloading Wi-Fi and Bluetooth processing. Having a second ESP32 on the same board mean it could maybe also run a display or Thread Border Router. It also supports SPI/UART interfaces so could probably offload IR, RF and serial proxy functions as well
Why is this exciting?
Not using an XMOS chip would make it less expensive and should make it easier for third-parties to manufacture compatible hardware.
Potential use cases
Could be the base for next-generation Home Assistant Voice Preview Edition as a open-voice assistants reference hardware.
ESP32-S31 is focused on multimedia so could also be the perfect fit for masking ESPHome-based Sendspin clients
Anything else?
The ESP32-S31-Function-CoreBoard-1 is a development board for connected AIoT prototyping based on the ESP32-S31-WROOM-3 module. It supports Wi-Fi 6, IEEE 802.15.4, Bluetooth 5.4 (LE + BR/EDR), and Gigabit Ethernet; provides an onboard microphone and speaker output; routes out all key GPIOs. Most of the I/O pins on the module are broken out to pin header J2 for easy interfacing. It also features a USB 2.0 Type-A Port and USB Type-C port which can be used for USB pheripials (though the USB Type-C port will require a USB-hub if you also want to power the board via USB).
All reactions