Render HTML and CSS on ESP32 Directly

Reporting from Shanghai, China
Mar 31, 2022

Independent developer Andy Green has produced a proof-of-concept HTML + CSS renderer over HTTP2.0 on ESP32 for libwebsockets.

Hackaday writer Jenny List notes that “as the available computing power from affordable microcontrollers continues to increase, there is an inevitable blurring of the line between them and the lower tier of application processors capable of running Linux-based operating systems”.

Indeed, for the most part, a microcontroller is occupied with behind-the-scenes tasks, but as so many maker projects have demonstrated, microcontrollers can be pretty capable when it comes to user-facing applications too. Recently, an independent developer called Andy Green has extended the possibilities one can materialise with affordable silicon, by producing a proof-of-concept HTML + CSS renderer over HTTP2.0 on ESP32 for libwebsockets. So, as Jenny List suggests: “[wanna] surf the web on a microcontroller without settling for a text-only experience? Why not!”

Andy Green himself openly admits that this is far from being a complete HTML-rendering engine. In other words, while Andy’s engine parses and renders HTML and CSS with JPEG and PNG image support, it does so only with a subset of HTML while not being tolerant of any malformations. There is also no JavaScript support, which is hardly surprising given the available resources.

Even with the above-mentioned limitations, however, Andy Green’s renderer remains an impressive piece of work which also marks a new milestone for ESP32.

Example of what it looks like to browse a webpage on an ESP32 MCU. Photo courtesy of

Share this article
Reuse this content


Technical Writer and Editor

About this author ›