CSS On The ESP32 | Hackaday
Skip to content
There are lots of graphics libraries available for the ESP32, and lots of ways to program one to boot. Even still, most of us wouldn’t immediately think to CSS when it comes to embedded products — yet that’s now a thing on the Espressif platform, apparently.
The Gea stack allows one to compose CSS and TypeScript code that is then turned into generated C++ code that compiles to native firmware. The team behind Gea have demoed this ability by running a 3D cube animation on an ESP32 at up to 60 FPS. This isn’t some ugly, low-res wireframe demo, either. It’s a full-color animation running on a 410×502 AMOLED screen. It’s very fluid, and can even handle transparency on the cube faces (albeit with a performance penalty).
It’s worth noting that this isn’t a full browser engine. As you might expect, some concessions had to be made to get it running on the ESP32. Namely, it doesn’t handle ":hover" states because it’s designed for touchscreen use, fonts are rasterized, and the UI tree is limited to just 512 nodes. Regardless, it shows that using CSS and TypeScript to develop for the ESP32 is entirely possible without some crazy loss of performance. If you want to build easy interfaces on an ESP32 while leaning on web dev experience, this could be very useful indeed.
There are lots of fun ways to write code for the ESP32; you can even try MicroPython if you like.
One thought on “CSS On The ESP32”
Is this an open source project or is it commercial? There is very little info in neither the video nor the website. It seems to be in an "early startup" state.
One project that has been in the back of my mind is a microcontroller that can render (a subset of) standard HTML. Goal is that a small SBC is configured as a server, and a power efficient handheld device pulls pages from the server and displays them on a touch screen to create a customizable remote control, sort of like the old Philips Pronto.
The device does does not have to be capable to be a full web browser, but it must understand standard HTML well enough to render at least one picture type, and send button presses back to the "server".
This server is then part of an home automation system, and it may have extra modules to create RF or IR commands to control external equipment.
Wifi is a bit power hungry, maybe it’s possible to use bluetooth as the underlying protocol. Linux can also work with http over USB.
Report comment
Reply
Leave a ReplyCancel reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)<br>This site uses Akismet to reduce spam. Learn how your comment data is processed.
Search
Search for:
Never miss a hack
Follow on facebook<br>Follow on twitter<br>Follow on youtube<br>Follow on rss<br>Contact us
Subscribe
If you missed it
Flying Cell Towers Are A Thing
4 Comments
The Trains With Rubber Tires
29 Comments
Linux Fu: Upcycling An Old Router
25 Comments
MSYS2 And The No-Fuss Way To Get More GNU Into Your Windows
32 Comments
What Happens If Russia Shuts The Door On Their Leaky ISS Module?
29 Comments
More from this category
Our Columns
FLOSS Weekly Episode 872: I’m Not Satoshi
1 Comment
Hackaday Links: June 21, 2026
5 Comments
Home Automation: Simple Vs Easy
39 Comments
Hackaday Podcast Episode 374: Flippin’ Phones, Sexy Spraysers, And Frikkin’ Lasers
3 Comments
This Week In Security: Arch AUR, Steam Marketplace, WordPress All Face Issues, Taco-Themed Coding, And Mythos Makes National News
7 Comments
More from this category
Search
Search for:
Never miss a hack
Follow on facebook<br>Follow on twitter<br>Follow on youtube<br>Follow on rss<br>Contact us<br>Subscribe
If you missed it
Flying Cell Towers Are A Thing
4 Comments
The Trains With Rubber Tires
29 Comments
Linux Fu: Upcycling An Old Router
25 Comments
MSYS2 And The No-Fuss Way To Get More GNU Into Your Windows
32 Comments
What Happens If Russia Shuts The Door On Their Leaky ISS Module?
29 Comments
More from this category<br>Categories<br>Categories<br>Select Category<br>3d Printer hacks<br>Android Hacks<br>Arduino Hacks<br>ARM<br>Art<br>Artificial Intelligence<br>Ask Hackaday<br>ATtiny Hacks<br>Battery Hacks<br>Beer Hacks<br>Biography<br>blackberry hacks<br>Business<br>car hacks<br>Cellphone Hacks<br>chemistry hacks<br>classic hacks<br>clock hacks<br>cnc hacks<br>computer hacks<br>cons<br>contests<br>cooking hacks<br>Crowd Funding<br>Curated<br>Current Events<br>Cyberdecks<br>digital audio hacks<br>digital cameras hacks<br>downloads hacks<br>drone hacks<br>Engine Hacks<br>Engineering<br>Fail of the Week<br>Featured<br>Fiction<br>firefox hacks<br>FPGA<br>g1 hacks<br>Games<br>google hacks<br>gps hacks<br>green hacks<br>Hackaday Columns<br>Hackaday links<br>Hackaday Store<br>Hackerspaces<br>HackIt<br>handhelds hacks<br>hardware<br>High Voltage<br>History<br>Holiday Hacks<br>home entertainment hacks<br>home hacks<br>how-to<br>Interest<br>internet hacks<br>Interviews<br>iphone hacks<br>ipod hacks<br>Kindle hacks<br>Kinect hacks<br>laptops hacks<br>Laser Hacks<br>LED Hacks<br>Lifehacks<br>Linux Hacks<br>lockpicking hacks<br>Mac Hacks<br>Machine Learning<br>Major Tom<br>Medical...