
ESP32 Web Browser Loads Real Web Pages in Text Mode
Alun Morris built babe32, an open-source text-mode web browser that fetches and renders real web pages on an inexpensive ESP32 display board.
Yes, the Browser Actually Fetches the Page
Alun Morris has built babe32, an open-source text-mode web browser that runs on an ESP32 paired with one of the inexpensive "Cheap Black Display" boards circulating on the usual marketplaces. It retrieves web pages over the network, tokenizes the HTML, and renders the result on the attached screen — Hackaday's own site among the demonstrated pages. As far as Hackaday could tell, it is the first ESP32 browser of its kind they have seen.
- Runs on a stock ESP32 paired with a low-cost Cheap Black Display board available from the usual overseas retailers
- Separate FreeRTOS processes for HTML retrieval, tokenizing, and UI rendering, which keeps the parser from stalling the display
- Includes an optional server-side proxy for awkward sites and for generating image thumbnails
- Open source and published on GitHub, with more capable recent ESP32 variants offering obvious headroom
Why This Is Harder Than It Sounds
The ESP32 is a capable microcontroller, but "capable" here means a couple of hundred kilobytes of usable RAM against a modern web page that can arrive as several hundred kilobytes of markup before a single asset is fetched. A conventional browser parses the whole document into a tree, computes layout, and paints. None of those steps fit comfortably in this memory budget, and the naive approach runs out of heap somewhere in the middle of the first page.
Morris's answer is architectural. Retrieval, tokenizing, and UI run as separate FreeRTOS processes, which means the HTML can be consumed and turned into display output in a streaming fashion rather than being buffered whole. That is essentially how browsers worked before memory got cheap, and it remains the right shape for a device where memory has not.
What Does the Proxy Do?
Some of the modern web is simply not reachable from a microcontroller — compression schemes, redirect chains, and TLS negotiations that a small stack handles badly. babe32 includes an optional server-side proxy that smooths those cases and additionally generates image thumbnails, since decoding a full-resolution JPEG on the device would be its own project.
This is a sensible engineering compromise rather than a cheat. Offloading the parts that genuinely need a real computer, while keeping the fetch-parse-render loop on the microcontroller, is what makes the whole thing tractable. It also leaves an obvious upgrade path: the proxy can get smarter without touching the firmware.
Where This Could Go Next
The recent ESP32 variants are considerably more capable than the part this runs on. The ESP32-P4 and ESP32-S3 bring more RAM, faster clocks, and in some cases hardware acceleration that would make image handling and richer layout plausible on-device. Anyone looking to extend the project has a lot of room.
Projects like this are why the ESP32 ecosystem stays interesting, alongside efforts like Moonshine's offline voice AI on a Pico 2 and the Open RC Spotter telemetry logger. Every so often someone demonstrates that a class of software everyone assumed needed a real computer does not, quite. The code is on GitHub for anyone who wants to build one — our mini computer coverage will be watching where it goes.
Sources: Hackaday — July 29, 2026.
More Mini Computers Stories

ESP32-S3 Runs Linux 6.11 With 3.7MB of RAM to Spare
Release 0.8 of the native ESP32-S3 Linux port fixes the crash that hit one boot in ten and halves the memory cost of every fork. One file to flash.

Alif StartKits Put an Ethos-U55 NPU on a $50 Board
Alif's Balletto B1 and Ensemble E1C StartKits pair a 160MHz Cortex-M55 with an Ethos-U55 NPU, two mics and a camera header for $49.99.

JetKVM Mini Cuts IP KVM Cost to $39 With ESP32-P4X
JetKVM Mini drops Linux for FreeRTOS on an ESP32-P4X, landing a 42mm IP KVM with HDMI capture and WebRTC streaming at $39, or $33 in a 3-pack.
