The newest ESP32 runs Linux and is uncomfortably close to a Raspberry Pi
The newest ESP32 can run Linux and it's getting close to a Raspberry Pi
Espressif's ESP32-S31 packs gigabit Ethernet, USB 2.0 High-Speed host, dual SD card slots, and a camera input—peripherals you'd expect on a single-board computer, not a microcontroller. It also has a real RISC-V Sv32 MMU with machine, supervisor, and user privilege modes, so Linux 6.18 and 7.1 ports already boot with working drivers. The catch: only 16 MB of PSRAM, no GPU or NPU, and 320 MHz cores that may struggle to saturate gigabit Ethernet.
The gap between a microcontroller with good I/O and an SBC has been closing over the past couple of years, and while you still can't run a desktop on 16 MB of PSRAM, you can get a Linux terminal up and running on it without too much trouble.
- jameshart
The range of difference in capabilities of different boards branded ESP32 is getting larger. Makes it tricky to figure out when someone says ‘you can run this on an ESP32’ what level of hardware investment is required.
- dsign
I’ve been developing a guitar pedal firmware in an ESP32-P4, and the flash image size is still under 1 MB and the PSRAM sits unused. It has not only a bunch of sound filters, control code for ADC, DAC a couple of USB devices, SDIO and LittleFS, but also a full-blown serial terminal TUI to control all sorts of details and to monitor performance. Said performance is good, but what blows me away is that there’s no jitter in the number that measures the number of cycles the processor executes while processing a sound frame, i.e. no preemption by the kernel to go and take care of its business.
There’s no way a multi-user OS such as Linux can be as efficient as a firmware blob that does one thing. Tell me if I’m wrong, but in my mental model, one can get about the same mileage with 16 MB of PSRAM in an MCU running FreeRTOS as one can get in a 512 MB SBC running Linux. For my use case, the winner combination would, of course, be a 512 MB SBC running FreeRTOS, but I’ve so far been unable to find such a wondrous thing.
- mstaoru
Ah, the Lord Giveth and the Lord Taketh Away. P4 didn't have enough raw speed for camera applications but had MIPI CSI, S31 has enough raw speed but no CSI.
- hwh
The article seems to confuse the MCU and some sort of undisclosed SBC for the MCU. Well, it’s starting to do this in the headline.
- tdhz77
I have esp32’s in every room for tracking down The Who in home automation via home assistant and Bermuda. I soldered some headers for the first time and now I’m making custom pcb boards. I added a fog machine for my halloweeen decorations and I’m just having fun. I could see how a much powerful esp32 could eliminate the dozen have and allow to switch between the outlet and battery.
- ValdikSS
Too bad Linux has removed Execute-in-place (XIP) support for RISC-V since 7.1. It allows to run the kernel (and applications) from NOR flash directly, without copying it into RAM first. Somebody should reintroduce it.
Espressif's port use 6.18 due to this exact reason. There's also another port, using 7.1, not sure if it supports XIP.
https://www.phoronix.com/news/RISC-V-XIP-Being-Removed
XIP is almost essential for these low-RAM devices. You can run Linux with 8 MB RAM with reasonable functionality.
- polycancel
Not hitting the site in Tor. Getting "Secure Connection Failed"
Here are the archive onion and regular links:
https://web.archivep75mbjunhxc6x4j5mwjmomyxb573v42baldlqu56r...
https://web.archive.org/web/20260924163612/https://www.xda-d...
- rbanffy
With all the capabilities, video and audio output, it might be an excellent platform for software emulation of older devices. There is plenty of GPIO that can be driven by the 40 MHz core while the other two work on nobler things.