KryonOS ESP32 is an open-source, touchscreen operating system for ESP32 boards that runs JavaScript apps instead of requiring you to rewrite firmware in C++. It is built by a solo developer known as Haris (GitHub: Haris16-code), and it is not my project. I have not flashed or run it. This post summarises the project’s GitHub page, its v2.0.0 release notes and press coverage as I read them on 30 September 2026, and I label my own opinions as opinions.
What KryonOS ESP32 Actually Is
According to the project page, KryonOS is a graphical operating system with an app launcher, a built-in app store, a file manager and SD card support. The GitHub page lists the licence as GPL-3.0 and says apps run on the Duktape JavaScript engine. The idea is that the C++ core stays fixed, while you add or change apps without recompiling. The creator’s own write-up says apps load from an SD card or the internal flash.
One correction to a common summary: this removes the reflash step for apps, not for the operating system itself. You still flash KryonOS onto the board first. After that, the project says apps install over Wi-Fi without reflashing.
Hardware Needed to Run KryonOS ESP32
This is where readers get caught out. The project page lists a 2.8-inch ILI9341 touchscreen with an XPT2046 touch controller and a microSD module, on ESP32 variants including the WROOM-32, S2, S3 and C3. So it is not a drop-in runtime for a bare dev board with no screen.
The sources disagree on which boards are supported, probably because the project moved fast. CNX Software’s report of 26 September says it works natively on ESP32 Marauder boards, with the M5Stack Cardputer, Cheap Yellow Display and LilyGO T-HMI experimental. The v2.0.0 release notes, dated 27 September, say only the ESP32-S3 DevKitC-1 N16R8 (16MB flash, 8MB PSRAM) is fully tested and the other boards are experimental and unverified. Boards with 4MB of flash cannot update over the air and need USB flashing. Check the current README for your exact board before you buy anything.
The Limits: Old JavaScript and Little Memory
CNX reports that the engine is Duktape 2.x, which is ES5 compliant. That means no arrow functions, no let or const, and no ES6 classes, so web developers used to modern syntax will need to write older-style JavaScript. CNX and CircuitDigest both report only about 90KB of free RAM for the JavaScript engine once Wi-Fi and the operating system take their share. In an Arduino Forum post, the creator says plain ESP32 boards with 192KB of RAM struggle once Wi-Fi is on, which is why the ESP32-S3 with PSRAM became the recommended target.
What Version 2.0 Adds
The v2.0.0 notes list a 3D graphics engine called Kryon3D, over-the-air updates with automatic rollback on boards with 8MB or more of flash, WebSocket and REST networking calls, PWM and I2C APIs, hardware-accelerated crypto, and an embedded web server. The release also introduces a cloud platform (KryonCloud) and AI features. In its Hackaday coverage, one commenter was sceptical of those planned cloud features, so treat them as something to watch rather than a reason to adopt it.
KryonOS ESP32 vs Espruino and Moddable
JavaScript on microcontrollers is not new. Espruino describes itself as a JavaScript interpreter for microcontrollers, with a web-based IDE, and its site lists its own boards. The Moddable SDK uses its own XS engine to run JavaScript on chips like the ESP32 and ESP8266, with open-source and commercial licensing options.
My reading, and it is an opinion: those two are runtimes and SDKs you build products with, while KryonOS is a finished, touchscreen-first environment. That makes it more like a handheld gadget than a firmware library. If you want a headless sensor node, it is probably the wrong tool. If you want a pocket device you can add apps to, it is closer to what you need.
Sending Data From KryonOS ESP32 Projects
The release notes list REST calls (GET, POST, PUT, DELETE) and a WebSocket client, so sending readings to an HTTP-based dashboard looks possible. I have not tested it. With about 90KB of RAM per app, keep payloads small. Before you choose a send interval, check how your dashboard counts messages on its free plan, because a fast update rate can use up an allowance quickly.
Should You Try It?
My view, not a tested result: try it if you already own a compatible touchscreen ESP32 board and enjoy tinkering with an early project. Go in knowing it is maintained by one developer, most boards are still experimental, and the ES5 JavaScript and small memory budget will limit what you can build. I would wait for more independent hands-on reports before basing anything important on it.
Frequently Asked Questions
Do I need a touchscreen to use KryonOS?
According to the project page, yes. It targets boards with an ILI9341 touchscreen and a microSD module, and CircuitDigest also lists a touch display and SD card as requirements.
Can I use modern JavaScript syntax?
Not according to CNX Software’s report of the engine. Duktape is ES5 compliant, so arrow functions, let, const and classes are not available.
Is KryonOS free and open source?
The GitHub page lists the GPL-3.0 licence. Check the licence terms if you plan to build a commercial product on it.
Which board should I buy?
The v2.0.0 notes name the ESP32-S3 DevKitC-1 N16R8 as the only fully tested target. Verify the current README before you order, because support has changed within a week.
Get new posts by email
Pick the topics you care about — we only email you when something new is published in them.