The ESP32-S31 can run Linux with a memory management unit (MMU), not just a variant without one. Espressif has released a developer preview of its Linux BSP for this dual-core RISC-V microprocessor; it is a striking development for a chip in the ESP32 family, although the company itself still considers it experimental.
Hackaday's November 7 article highlights precisely this difference: the S31 has an MMU, a component that allows it to run the full version of Linux mentioned in the article, rather than being limited to Linux without an MMU. The announcement comes after the chip entered mass production, as Espressif reported on July 27, and development boards became available.
An ESP32 with Linux and an MMU
The ESP32-S31 is a dual-core RISC-V. In its production announcement, Espressif detailed that its 32-bit CPU runs at up to 320 MHz and that one of the cores incorporates a 128-bit data path and a SIMD instruction set to accelerate computations. It also noted that the SoC integrates a 40 MHz low-power coprocessor, 512 KB of internal SRAM, up to 60 GPIOs, and support for 250 MHz DDR PSRAM expansion.
Its connectivity includes 2.4 GHz Wi-Fi 6, Bluetooth 5.4—with LE Audio and Classic BR/EDR—IEEE 802.15.4 for Zigbee and Thread, and a Gigabit Ethernet MAC. Espressif also lists support for Matter over Wi-Fi and Thread. These are chip features; they do not mean that all of them are already operational in the Linux BSP.
For interaction with displays and other devices, the S31 offers interfaces for DVP cameras, several types of LCDs, and up to 14 capacitive touch channels. Espressif mentions hardware accelerators for JPEG and 2D graphics, as well as two I2S controllers that enable Bluetooth audio synchronization at the hardware level. The SoC is compatible with ESP-IDF and components from the Espressif ecosystem, including ESP-Matter, ESP-GMF, ESP-BLE-MESH, and ESP-BLE-AUDIO; it can also operate as a connectivity coprocessor through ESP-Hosted and ESP-AT.
Buildroot and a 6.18 kernel in the preview
Official support is spread across several repositories. The esp-linux-bsp project contains the image design and packaging tools used by the Buildroot integration. Most of the configuration is in esp-buildroot-external: it includes booting from NOR and a root filesystem built with Buildroot 2025.02. Espressif also maintains a fork of the Linux kernel for the chip.
The official preview uses Linux 6.18, according to Espressif's repository page. The Buildroot workflow combines components such as U-Boot SPL, U-Boot FIT, the Linux device tree, the XIP kernel, and a cramfs root filesystem into an image called s31_full_flash.bin. The BSP includes instructions for generating and flashing the image; its repository also documents tools for packaging the SPL and creating a diagnostic FIT.
CNX Software tested the build, although the author explained that they did not have a board and therefore could not verify booting on hardware. In their test, the process downloaded packages and built the system for over an hour. The ESP32-S31 requires esptool 5.3.0 or later: the author had version 4.7.0 and had to upgrade it. Once flashed, the Linux console should be available at 115200 baud.
Memory also defines the practical scope of these tests. CNX Software notes that the development boards mentioned include 16 MB of PSRAM, making it possible to consider a minimal Linux image. Hackaday, in turn, warns that the device's resources do not provide much computing capacity. The presence of an MMU makes it possible to run Linux, but it does not turn the microcontroller into a high-performance computer.
A BSP for experimentation only
Espressif does not recommend the BSP for production and, for now, limits it to the ESP32-S31. The repository describes the integration/v1.0-esp32s31 branch as a developer preview intended for technical validation, evaluation, and feedback. It does not promise a regular update schedule or API or ABI compatibility.
Espressif's published policy warns that breaking changes may be made without notice and that acceptance of new features is limited. Bug reports are welcome, but may be deferred; fixes will be handled on a best-effort basis, and change requests will be reviewed case by case. The company also does not recommend the branch for long-term projects that require stability or for mission-critical systems.
There is also a specific question about the available features: CNX Software notes that it was unclear whether Wi-Fi worked in the official BSP. It is therefore worth distinguishing the SoC's announced connectivity lineup from what the Linux port currently offers. The preview provides tools to build and test an image, but does not confirm that every peripheral is supported.
Community ports are progressing independently
The official BSP is not the only work underway. CNX Software described two community ports for the ESP32-S31-Korvo-1 board. One is by GrieferPig, whose repository, in the version consulted, presents native Linux 6.18 with an RV32 MMU and says it has been tested on an ESP32-S31-WROOM-3 E1H16R16V module, identified as an ESP32-S31 Coreboard/Korvo. The page advises against using it in production and provides a prebuilt image in its releases.
There is a difference between descriptions of that project's progress: CNX Software described a Linux 6.12 port, with a Buildroot root filesystem and stable reboot, shutdown not yet implemented, and Wi-Fi, dual-mode Bluetooth, and dual-core support in the experimental stage. The repository's current page, by contrast, presents it as Linux 6.18 and marks Linux with an Sv32 MMU and XIP boot from flash, dual-core SMP, a persistent root filesystem, Wi-Fi in station mode, and Bluetooth via BTstack as stable.
The community matrix lists other features as experimental: LP firmware and message mailbox, I2C0 and I2C1, GPSPI host and target controllers, I2S/TDM, SD/MMC, Ethernet, USB gadget, GDMA AHB/AXI, timers, PWM, pulse counter, and analog and sensor blocks, as well as watchdog, NVMEM, RNG, and cryptography. Power management is listed as work in progress, as are TWAI/CAN and USB host; RMT is listed as unsupported.
The port's author explains that they made extensive use of AI agents to accelerate development, but also had to guide them with knowledge of the S31's specific hardware. Examples they cite include IPC transport using a shared SRAM buffer and an interrupt, and adapting an existing SD/MMC driver. They say the agent would not have discovered certain chip-specific behaviors on its own.
The second project mentioned by CNX Software is esp32-s31-linux, by Marco. According to that publication, it brings Linux 7.1 and OpenSBI 1.9 to the Korvo board, but does not yet enable most peripherals: the exceptions it lists are the LCD panel, microSD slot, USB host, and WLAN modem. The version differences among the ports reflect the fact that they are independent efforts, not a single shared distribution.
From mass production to prototypes
Espressif initially introduced the ESP32-S31 in March, according to CNX Software's timeline. Two development boards arrived in May, and the company announced the start of mass production on July 27, 2026. In that announcement, it said the chip was already available for purchase in its official AliExpress store and that its developer portal offered documentation, software resources, example projects, and tools.
The Linux BSP opens up a path distinct from the ESP-IDF environment's usual focus: evaluating a Linux system on the S31 using an image built with Buildroot. For now, Espressif presents it as a basis for testing and prototyping, not as a finished product. The next practical step for anyone with a board is to build or flash the image and check which parts of the hardware respond; in the case of Wi-Fi, that remains an open question in CNX Software's coverage.
Sources: Hackaday, CNX Software - Embedded Systems News, GitHub, GitHub, GitHub, Espressif Systems