If you're excited about the (relatively) speedy RISC-V cores and SIMD, look at the P4 which is available now. It has a slightly faster clock but no wireless: https://products.espressif.com/#/product-comparison?names=ES...
There's some cool work out there using the dsp functionality and built in image handling to crunch a lot of pixel data, which should work similarly on the S31: https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...
My preferred controller platform is of the QuinLED line - comes with power distribution, voltage regulators, fat copper lines, configurable data-line resistors, and smart auxiliary hardware support all for an affordable $30-$50 per controller. (quinled.info)
<https://kno.wled.ge/> - WLED homepage and probably my favorite clever URL of all time.
Also 4x MCPWM peripherals; that's a first for any Espressif MCU.
The additional GPIOs are very welcome as well. CAN-FD!
This device is going to be a big hit for Espressif.
RISC-V cores is a big deal for embedded systems because now compiling for SoCs is only a matter of `rustup target add riscv32imac-unknown-none-elf` instead of downloading half-broken proprietary toolchains and SDKs.
Take a look at https://kerkour.com/introduction-to-embedded-development-wit... and https://kerkour.com/rust-esp32-pentest to get started with modern (Rust ;) embedded development.
Kind of like how in every thread involving a Raspberry Pi Pico (RP2030/RP2350), there's always someone confusing it with the single board computer version.
The ESP32 (Classic, usually WROOM-32E) is still usually what comes to mind when I hear ESP32.
Although we lost the MIPI support that the P4 dual-core RISC-V line has.
What's the state of Bluetooth audio out on microcontrollers? Is low latency and high quality output possible?
Any way to know what kind of performance one could expect running e.g. a depth anything model on there?
Also I want to dive into hardware stuff but I'm always clueless as to what I do afterwards when this would arrive? Are you using a generic board or are you ordering and designing PCBs to hook this up to?
What are you using it for ? How do I go from a prototype to mass production via kickstarter?
Their product naming could be better, since S3 is going to show S31 in the search results.
Yes, but it looks like there is no hardware floating point. The description of the CORDIC module indicates fixed-point calculations, which is consistent with the lack of any reference to floating point.
I am happy the have CAN-FD and Motor PWM module, but nowhere did I see conversion times listed for the ADC. For motor control I demand 1uS conversion time or less, and in the last year I've switched from fixed point to floating point after holding off on that switch for ~15 years.
Could this theoretically be used as a router or wireguard vpn instance?
If you want to really cut down latency and need wireless with hardware like this, you could use a second ESP32 and send your own bitstream between them.
Unless they're not listing a major feature in their spec, a dual core 320Mhz microcontroller is not bad but youre not going to be running any kind of vision model on it, at least very fast.
(at least in the US, not sure about other countries)
Sorry, I don't know. I'm just responding to echo and expand on another reply that Bluetooth for anything related to serious music, from audio playback to MIDI input is a dumpster fire on Windows.
Several years ago I tried to set up a high-end Windows laptop for hobby DAW composition on the go. The real-world BT audio latency just from laptop to headphones/earbuds was unworkable and, separately, the input latency from BT midi controllers was unworkable. Stacked together the total lag was laughable.
At the time, the issues were widely known and much lamented. Some tech blogs (including one at MSFT) indicated there were issues at every level of the stack (drivers, firmware, silicon) and work was proceeding to address the end to end shit show. The only workable Windows solutions referenced online involved using specific non-Bluetooth wireless devices. Needing to have a dedicated USB dongle hanging off the laptop combined with having a choice of either one specific device or a receiver dongle to support all devices, is less appealing than just having a wire.
Since then I've looked again every year or so but have seen no reports yet of meaningful progress and there's even less discussion of work in progress. Very disappointing. And the situation on the BT audio quality side doesn't seem much better. If you don't want degraded audio quality it's either choosing very specific devices which support a proprietary BT codec or switching to non-BT wireless dongle hardware. At least there is talk of improvement on audio quality but no clear indication better baseline minimum audio quality will ever be mandated in the BT audio standard.
If anyone has info the baseline latency or quality (input or output) of standard BT devices in Windows configs will improve, I'd be delighted to hear it.
You can plug the dev board into sandwich board for easier prototyping. To go to mass production, you'll need to hand off your prototype spec to a custom PCB maker that you can order from, prices vary a lot based on volume and some shops specialize in low volume for early products.
Your end product should basically be a circuit board, case, battery, and any external components like LEDs or screens, then you assemble with plugs or wiring/soldering.
It is sometimes possible to make a product from the dev boards, especially the small ones, but your product still has to get a custom FCC certification (not a deal breaker, just a hoop to jump through), whether using dev board or custom.
Just appending 1 to S3 is odd though. This MCU is step change for Espressif. S4 or something would make more sense.
I don't know much about motor control, is it normal to need that fast of feedback?
But with the weird alignment thing fixed
A few SoCs provide integrated PHY transceivers, but usually it's an external chip.
[1]: https://www.ti.com/lit/ds/symlink/dp83867e.pdf
[2]: https://yageogroup.com/content/datasheet/asset/file/DATASHEE...
Practical bandwidth limits are in the ~72kb/s range with Bluetooth and a custom wire protocol, and Opus voice-mode encoding can't run in realtime beyond complexity 3; music encoding can't run at all. Maybe there's a more compute-friendly audio codec I'm not aware of, but as far as I know these chips just aren't quite powerful enough for high-quality music encoding, unfortunately. I'm hoping the S31 might be a bit better fit here (decent CPU boost + better SIMD).
Latency is still a bit rough with BT overhead. There might be some new options with LE audio on the S31 but I haven't found a way to get below ~80ms with the existing ESP32-S3 stack.
tl;dr, high quality voice is doable today with okay latency, music probably less so, maybe the S31 will be better
No they're not? Anyway I assume GP was asking due to procurement concerns, not security.
I = Base integer instruction set, 32-bit
M = Standard extension for integer multiplication and division
A = Standard extension for atomic instructions
C = Standard extension for compressed instructions
https://en.wikipedia.org/wiki/RISC-V#ISA_base_and_extensions
I didn't expect to see that for a while yet. Not the usual Espressif announce and wait a year+ pattern.
It's not that important if you use current sensors on the motor phases. But then you're looking at HALL sensors or a shunt with a very high gain amplifier with good common mode rejection - looking for mV signals on top of a +12V or +48V square wave at PWM frequency.
By using low-side shunts under each half-bridge you don't need the common mode rejection, but you can only measure phase current while the low side FET for that phase is on. That means limiting the PWM duty cycle to ensure that FET is on long enough to measure current, so we trade available voltage range for sample time.
I've also written code to measure all phase voltages with a single low-side current shunt under the whole 3-phase bridge. That requires careful phase shifting of the PWM signals and very fast conversion time, but you don't have to compromise available voltage range 0-100 percent duty cycle is possible.
Typically we run the control loop at PWM frequency, but the measurements need to be faster than that.
The non-single-letter extensions should make you feel more at home. Like the supervisor instructions. You have Smcntrpmf which helps with benchmarking by pausing perf counters during traps. I think Smcntrpmf just rolls off the tongue nicely.
Then there's a lot of extensions that start with Z followed by a sprinkling of random letters which is secretly an abbreviation you couldn't have guessed. For instance you have your SHA-2 instructions in Zvknha and Zvknhb, since that's the Vector Krypto NIST Hashes.
ESP32-S31 integrates both wireless and wired connectivity for versatile networking. It supports 2.4 GHz Wi-Fi 6 (802.11ax) for enhanced transmission efficiency and reduced power consumption, making it ideal for battery-powered and always-connected devices. IEEE 802.15.4 enables Thread and Zigbee protocols, and Bluetooth® 5.4 (LE) supports LE Audio for high-quality, low-power audio streaming, Direction Finding, and Bluetooth Mesh 1.1 for scalable many-to-many device communication. While Bluetooth Classic (BR/EDR) ensures compatibility with legacy audio devices and low-latency HMI applications. Also, the 1000 Mbps Ethernet MAC provides stable, high-bandwidth wired connectivity for IoT applications.
ESP32-S31 is a dual-core 32-bit RISC-V microcontroller running at 320 MHz with MMU support providing 6.86 CoreMark/MHz processing performance and 60 GPIOs for design flexibility. One core features a wide 128-bit data path with SIMD instructions, enabling fast parallel processing. The SoC provides 512 KB SRAM and 250 MHz 8-bit DDR PSRAM connectivity with simultaneous flash and PSRAM access. Multiple dedicated SPI interfaces, compatible with high-speed Octal SPI mode, enable flexible external memory expansion.
ESP32-S31 provides comprehensive human-machine interface capabilities for rich multimedia applications. It features a DVP camera interface (8 to 16-bit) and versatile LCD support (8 to 24-bit parallel RGB, I8080, MOTO6800), supporting conversion between RGB565, YUV422, YUV420, and YUV411. Dedicated hardware accelerators including JPEG codec, PPA, and 2D-DMA enable efficient image processing and display updates. Combined with up to 14 capacitive touch sensing channels, the ESP32-S31 is ideal for smart displays, video doorbells, multimedia panels, and applications requiring seamless touch, visual, and audio integration.
The ESP32-S31 delivers versatile audio capabilities across wireless and wired interfaces. Bluetooth 5.4 LE Audio enables high-quality, low-power streaming with LC3 codec and multi-stream audio, while Bluetooth Classic (BR/EDR) ensures compatibility with headphones, speakers, and automotive systems. Dual I2S controllers with hardware-level Bluetooth audio synchronization provide precise timing and minimal latency, eliminating software-based synchronization complexity.
ESP32-S31 provides robust hardware-based security for applications with stringent industry requirements. A standout highlight is the integration of TRNG and RAM-based PUF capabilities, providing a strong foundation for key generation and device security. It also supports secure boot, flash and PSRAM encryption, and cryptographic accelerators including AES-128/256, RSA, ECDSA, and ECC. In addition, an ECDSA-based digital signature peripheral protects private keys from software access, while TEE and APM enable software isolation for secure multi-application deployment.
ESP32-S31 will be supported through Espressif's open-source IoT Development Framework ESP-IDF、ESP-Matter (for Matter devices), ESP-BLE-AUDIO and ESP-GMF (for multimedia applications). ESP32-S31 will also work with the ESP Private Agents platform as well as directly with common LLMs to build client devices that run or interact with AI agents to create voice-enabled and intelligent applications.