The newest ESP32 can run Linux and it's getting close to a Raspberry Pi
First reported by Xda-developers ·
You can now run Linux on a microcontroller with integrated Wi-Fi and Bluetooth, offering new possibilities for complex embedded projects. This blurs the line between microcontrollers and single-board computers, making advanced functionality more accessible.
Espressif has released the ESP32-S31, a new microcontroller that blurs the lines between microcontrollers and single-board computers (SBCs). The ESP32-S31 features a gigabit Ethernet MAC, a USB 2.0 host controller, an SD card interface, and a camera input, capabilities typically found on SBCs. It is powered by dual 32-bit RISC-V cores running up to 320 MHz, with each core having a floating-point unit. A significant advancement is the inclusion of a full Memory Management Unit (MMU) supporting RISC-V's Sv32 paging scheme and privilege modes, enabling native support for running a Linux kernel. Espressif has already provided a preliminary Linux BSP, and the community has demonstrated Linux running with working drivers for most hardware. While it boasts strong networking and wireless features including Wi-Fi 6, Bluetooth 5.4, and an 802.15.4 radio, its memory capacity, capped at 64MB of PSRAM, and lack of a dedicated GPU or NPU, position it below traditional SBCs like the Raspberry Pi for full desktop experiences.
The ESP32-S31's integration of an MMU that supports actual paging and privilege modes is a pivotal shift, enabling it to natively run a Linux kernel rather than relying on previous 'hacky' workarounds. This hardware-level support for a supervisor mode makes it a genuine contender for tasks previously exclusive to SBCs. The device also packs a comprehensive suite of peripherals including gigabit Ethernet, USB host, and various display and audio interfaces, all while maintaining a microcontroller's power profile, which is a significant step in consolidating functionality.
This development signals a trend toward more capable microcontrollers that can handle complex operating systems and network-intensive applications, potentially reducing reliance on larger, more power-hungry SBCs for certain projects. While its memory limitations and lack of a GPU prevent it from directly competing with high-end SBCs for desktop-like performance, the ESP32-S31 opens doors for sophisticated IoT devices, edge computing nodes, and advanced embedded systems that require both OS-level features and tight integration.
AI-written summary. May contain errors.