Espressif's ESP32 microcontrollers are a favorite among makers and developers thanks to their low cost, solid performance, and built-in wireless connectivity. They're great for everything from basic IoT sensors to sophisticated robotics projects — but they aren't the kind of hardware you'd expect to find running a full operating system. That could be changing: the new ESP32-S31 is powerful enough to run Linux, and unlike with past hacks, Espressif is officially supporting the effort.
Why this ESP32 is different
The ESP32-S31 is a dual-core RISC-V microcontroller running at up to 320 MHz. It supports Wi-Fi 6, Bluetooth, Zigbee, and a wide range of peripherals, including GPIO, SPI, I2C, and Ethernet — even a Gigabit Ethernet MAC, a USB 2.0 high-speed host controller, an SD card interface, and a camera input. But what makes it suitable for running a full Linux distribution is its memory management unit (MMU).
Unlike most microcontrollers, the ESP32-S31 supports virtual memory through a two-level page table and hardware address translation. It also provides multiple privilege levels, allowing the operating system to separate kernel operations from user applications. These features make it possible to run a full Linux kernel rather than the stripped-down, no-MMU variants sometimes used on less capable hardware.
Espressif's official support
To support these efforts, Espressif has published an official Linux 6.18 development branch for the ESP32-S31. The project is still in developer preview and isn't recommended for production use, but it will save you a lot of time if your aim is experimentation — although you will still need to compile the kernel for yourself.
Linux was demonstrated running on an ESP32-S31 CoreBoard, and Espressif's official documentation already covers the family's development boards, including the ESP32-S31 Function CoreBoard-1, aimed at AIoT prototyping.
The easiest way to get started
There's another option that makes getting started even easier: developer GrieferPig has released an unofficial Linux 6.18 port with precompiled images that can be flashed directly onto compatible ESP32-S31 development boards. The project includes support for dual-core symmetric multiprocessing, persistent storage, Wi-Fi, Bluetooth, GPIO, and UART. Several of those features are already listed as stable, while others — including I2C, SPI, Ethernet, USB gadget functionality, and audio interfaces — remain experimental. The port also includes BusyBox, providing a familiar Linux command-line environment for interacting with the hardware.
The limits are still real
Of course, there are plenty of limitations. The ESP32-S31 has far less memory than a normal Linux computer, and there's no GPU for handling graphical applications. It's not going to replace a Raspberry Pi anytime soon, especially for projects that require a desktop environment or significant processing power. Most embedded projects will probably be better served by FreeRTOS or Espressif's ESP-IDF framework — but having Linux as an option opens the door to new possibilities. And as microcontrollers continue getting more powerful, the line separating them from single-board computers is going to become increasingly blurry.
The ecosystem is already moving: Waveshare has launched the ESP32-S31-Zero, a compact development board with up to 32 MB of PSRAM and 32 MB of SPI flash, and initial Linux support for the ESP32-S31 is already available, which could open the path to interesting applications once the software becomes more mature.
Read also on Geekiki: Meta opens Muse Gadgets: ESP32 and Raspberry Pi become hardware for the AI agent.
Image credit: ESP32-S31 Function CoreBoard-1, official image from Espressif Systems in its documentation.
Sources
- Hackster.io — “Full Linux on an ESP32? It's Official”
- Hackaday — “Proper Linux, On An ESP32”
- CNX Software — “Waveshare ESP32-S31-Zero”
Transparency: this article was produced with the assistance of artificial intelligence, cross-checked against public posts on X and internet sources. The information was verified against the original sources cited below — we recommend consulting them to confirm the details.
By Muse