A new ESP32 from Espressif exists, and it breaks the mold. The ESP32-S31 combines gigabit Ethernet, USB 2.0 host support, a camera interface, an SD card slot, and a parallel LCD controller within a microcontroller that has historically been a modest chip with a handful of cores, some GPIO pins, and perhaps Wi-Fi. This microcontroller now acts like a single-board computer, and the company has shifted its CPU architecture significantly to enable that transformation.
The list of peripherals stands out on its own. It includes a 1000 Mbps Ethernet MAC, an 8P8C connector (commonly known as RJ45), and an external PHY that connects through the chip’s RGMII interface. RGMII is what makes gigabit speeds possible; without it, the link would fall back to the older RMII standard. A USB 2.0 High-Speed OTG controller comes with a full-size Type-A socket capable of delivering 500 mA in host mode. The SDIO host controller offers two slots, while the DVP camera interface handles 8 to 16 bits. The parallel LCD controller supports up to 24-bit RGB along with I8080 and MOTO6800 panels. The rest of the list includes two I2S controllers with hardware Bluetooth audio sync, fourteen capacitive touch channels, a CAN FD controller, and four MCPWM units.
The CPU and Memory
The central processing unit is where things become truly unusual. Two 32-bit RISC-V cores run at up to 320 MHz, each equipped with a floating point unit. One core carries a 128-bit SIMD data path, while there exists a separate 40 MHz low-power core for less demanding tasks. Each core receives 32KB of L1 instruction cache, and they share 64KB of data cache. The memory support is generous: the S31 can hold up to 64 MB of PSRAM across a 250 MHz 8-bit DDR interface, and it can also manage up to 256MB of flash.
The PSRAM interface is now independent from flash, a significant improvement over the ESP32-S3. This isolation allows the chip to regard PSRAM as its own distinct memory reserve, a feature usually reserved for full system-on-chip designs rather than microcontrollers.
The MMU Question
For years, Espressif has referred to its hardware as “MMU”, a label applied to the ESP32-S3 and the ESP32-P4. In both of those chips, though, the MMU served a limited role: it simply mapped external flash and PSRAM into address space. It offered no support for page tables or process isolation. The new S31 is different.
The S31’s datasheet states that the cores carry out “Sv32 two-level page-table address translation”, and they support “Machine, Supervisor and User privilege modes.” Sv32 is the actual RISC-V paging scheme, and having all three privilege modes lets a regular kernel run in supervisor mode while firmware sits beneath it in machine mode. That arrangement is how RISC-V-based Linux machines operate.
The company’s own Linux BSP dates back to August, built on Buildroot and U-Boot, which ships with a kernel, device tree, and root file system. Espressif describes it as “not yet recommended for production use,” though the real value is that it functions. The open-source community has responded quickly: one port runs Linux 6.18 in supervisor mode with working drivers for nearly all of the hardware, while another, based on Linux 7.1, supports an 800×480 LCD panel connected, able to display a console.
What Is Missing
Memory limitations are obvious when you examine the S31’s architecture. It comes with 512KB of SRAM built into the chip, along with two variants that use either 16MB or 32MB of PSRAM packaged alongside it. The device’s maximum memory capacity sits at 64MB, yet there is no DRAM controller present to manage it. In contrast, the Milk-V Duo S ships with a full 512MB of RAM.
That is why those Linux builds run the kernel from flash instead of PSRAM, since dedicating memory to the kernel would reduce the already limited pool. The S31 lacks a GPU or NPU, and although the ESP32-P4 came with video encode and MIPI interfaces, they were swapped out to make room for extra radios on the S31. The device retains a JPEG codec, a 2D pixel-processing accelerator, and 2D DMA, yet that hardware remains insufficient to support a full Linux desktop.
The Clock Frequency
The clock frequency likewise brings into question the gigabit Ethernet adapter. At 320 MHz, one receives roughly 3,900 processor cycles per largest Ethernet frame, and around 215 per smallest frame. Given a theoretical PSRAM ceiling of 500 megabytes per second, achieving closer to those gigabit rates on large data moves may be feasible, though I would doubt the ability to fully fill the link with many small packet transfers.
The Wireless Stack
The radios on board are what makes this stand apart from comparable SBCs at the same price point, which often omit an on-board wireless stack entirely. This particular model packs in 2.4GHz Wi-Fi 6, Bluetooth 5.4, complete with both LE and Classic BR/EDR support, along with an 802.15.4 radio for Thread and Zigbee. Since Matter works across both Wi-Fi and Thread, the addition of Bluetooth Classic on an ESP32 counts as something out of the ordinary.
A Microcontroller That Acts Like an SBC
The S31 behaves like an SBC through a blend of hardware and software that distinguishes it from every other product in the Espressif lineup. Gigabit Ethernet, USB host capability, and full Linux support are not empty marketing claims; they are characteristics that the community has gauged, examined, and refined over time.
A look at the Milk-V Duo S shows the S31 falls short in one regard: its 64MB maximum RAM capacity trails the Milk-V’s 512MB figure. However, the S31 makes up for that with a Linux BSP and a CPU design that supports real virtual memory, both significant strengths.
| Feature | ESP32-S31 | Milk-V Duo S |
|---|---|---|
| RAM | Up to 64MB PSRAM | 512MB |
| Flash | Up to 256MB | Not specified |
| CPU | Two 32-bit RISC-V cores | Not specified |
| Networking | Gigabit Ethernet, Wi-Fi 6, Bluetooth 5.4, 802.15.4 | Not specified |
| Linux support | Published BSP, community ports | Not specified |
A small computer built with a microcontroller now sits where single-board computers once reigned. It carries networking, storage, display and camera support, along with a Linux BSP to back it all up. The real test is whether the whole thing can stay joined together as one working platform.
So far, the answer is affirmative. The Linux ports are functioning, the community is refining its efforts, and Espressif has thrown its weight behind the direction with a published BSP. Whether it matures into a production-ready platform is still an open question, but the technical foundation is certainly being established.
Source material: “The newest ESP32 can run Linux and it's getting close to a Raspberry Pi,” xda-developers.com.
Get the Notebook.
The day's best stories and every fresh verdict, in plain English, in your inbox by seven. One email a day, no more.

