I'm thinking to the next step. After my experiments, I feel that the Esp32-P4 is OK for audio applications, but not completely fine either:
Pros:
- price-performance ratio (2 cores at 360MHz, flash mem and ram...)
- internal USB HS Phy
- dedicated software components for USB and Audio (better than stm32 side),
- IDE working well in vs code, and overall good development experience (even for not experience one like me),
- availability of cheap boards and modules on Aliexpress,
Cons:
- I2S peripheral lag behind stm32 SAI,
- clock multipliers introduce limitations when targeting high sampling rates, or 8ch 32 bits.
The Esp32-S31 could be a challenger, but with the same i2s peripheral and an APLL limited to 96MHz (instead of 125MHz for the P4). So could be more limited in bit rate.
Alternative could be the stm32H5 or H7:
Pros:
- Best SAI: possibility to synchronize the different channels,
- seems better clock schemes,
- best support for Rust (I would like to learn embedded Rust),
Cons:
- No off the shelf USB to i2s components,
- Price,
- External USB HS ULPI if not using one of the few MCU with an internal one,
- no "modules" to solder on PCB like the ESP32 ones.
More expensive but looks like the safest option, at about x3 times the price of chip cost.
Challenger: CH32H417 (or CH32V315)
- a SAI to be explored to see how it competes with the stm32 one
- powerful MCU
- price,
- internal USB HS Phy
Cons:
- much smaller eco system,
- lower level API,
- smaller community,
- has to dig more in the reference manual to move forward,
- TinyUSB not available yet on that MCU
For pro or adventurous ? I will keep an eye on this option, but for the moment, looks better to resist to the appeal
