Summary
- Espressif has officially released developer-preview support for running a full Linux 6.18 kernel on the ESP32-S31.
- The ESP32-S31’s memory management unit allows Linux to run natively instead of relying on a stripped-down, non-MMU version.
- Limited memory, no GPU, and experimental hardware support mean the ESP32-S31 cannot replace a Raspberry Pi yet.
Espressif, the company behind the ESP32 chip, has officially published a Linux board support package for the ESP32-S31 on GitHub. It allows you to boot a full Linux operating system on the affordable microcontroller. This isn’t a stripped-down, non-MMU version of Linux that was previously squeezed onto some models. Rather, the S31 has the hardware required to run a conventional Linux 6.18 kernel natively.
The ESP32-S31 is a feature-rich model that offers a lot of bang for the buck. It comes with a dual-core RISC-V chip, Wi-Fi 6, Zigbee, and plenty of connections for external hardware and accessories. It’s the same processor we recently covered inside this $39 touchscreen development board. The important perk that allows it to separate the kernel from applications is support for virtual memory.
This is real Linux, although it’s yet to replace your Raspberry Pi
Based on the official release on GitHub, Espressif’s project combines its Linux branch with Buildroot, U-Boot, and other components that make assembling a bootable system possible. For now, Espressif has labeled it as a developer preview and doesn’t recommend it for production hardware. In other words, you should be expecting a lot of setup work and limited functionality for now. Oh, and you’ll need to compile the kernel yourself.
Even if you get it running, you’ll still have several important limitations. One of the main reasons behind ESP32’s much lower price tag compared to a Raspberry Pi is that it has a fraction of the memory available to its more expensive rival. Also, ESP32s don’t have GPUs. For those reasons, it’s only to be expected that installing Linux on an ESP32 won’t give you a usable desktop environment. Moreover, several hardware interfaces are experimental for now, and power management and USB host support are still works in progress. For most projects, Espressif’s existing ESP-IDF framework remains the faster and more practical option, at least for now.
Other than Linux support, Espressif has also been making development using its gear generally more approachable. Its Claude Code alternative understands the hardware connected to an ESP32 and can generate, build, and deploy applications from plain-language instructions. If its Linux support matures alongside other tools, the ESP32 could get noticeably closer to becoming a tiny single-board computer rather than a mere controller you’d use around the house.
