A JavaScript OS for ESP32
An open-source GUI operating system and application platform that brings a graphical interface, JavaScript apps, and hardware APIs to ESP32.
Duktape
Native JS Engine
2.8" Touch
ILI9341 Double Buffer
Split SPI
VSPI & HSPI Collision-Free
1 Account
Unified Cloud Ecosystem
Supported Hardware & Microcontrollers
KryonOS is built directly on bare-metal ESP-IDF & FreeRTOS with modular display and touch HALs. Choose from verified off-the-shelf development boards or customize pin maps.

ESP32 + ILI9341 2.8" (Touch)

M5Stack Cardputer
CYD (Cheap Yellow Display)
ESP32-2432S028R Dual-Core
LilyGO T-HMI
ESP32-S3 (Dual-Core LX7 + 8MB PSRAM)
Want to port KryonOS to a custom ESP32 board?
Read our open-source BSP porting documentation or view the full hardware compatibility matrix.
Native ESP32 JavaScript Engine
Write and execute standalone JavaScript apps natively on ESP32 silicon. Powered by an optimized Duktape engine, the C++ kernel exposes direct bindings for touch, DMA sprites, GPIO, and FAT32 filesystems.
Duktape JS Engine
ES5/ES5.1 stack runtime compiled directly into firmware. Runs dynamic scripts from SD card with ~90KB free RAM heap.
App Store Ecosystem
Browse, download, and install standalone JavaScript apps and community games directly from the official App Store repository.
Unified FS Engine
Dynamic routing for MicroSD (/sd/) and internal flash (/local/) with hardware MD5 verification.
DMA Sprite Engine
Double-buffered graphics pipeline for 60 FPS tear-free rendering on ILI9341 2.8" TFT displays over 40MHz VSPI bus.
Touch Controller & Event Loop
Poll the XPT2046 touch controller, read coordinate positions, and trigger C++ kernel garbage collection sweeps with System.delay().
// Main Application Event Loop with Touch & Kernel GC
while (true) {
var touch = System.getTouch();
if (touch.touched) {
System.print("Touch detected at X: " + touch.x + ", Y: " + touch.y);
// Draw touch feedback dot on 240x320 screen
System.fillCircle(touch.x, touch.y, 6, 0x07E0); // RGB565 Green
}
// Mandatory: triggers background GC and yields to OS scheduler
System.delay(16); // ~60 FPS polling
}Engineered for High-Performance Microcontrollers
From the Duktape JavaScript engine to cloud device management, KryonOS bridges embedded hardware and web development.
Duktape JavaScript Runtime
Execute interactive JavaScript scripts, games, and apps on the ESP32 without reflashing firmware. Edit on SD card or deploy dynamically.
Split SPI Bus Architecture
VSPI dedicated to ILI9341 2.8" Display and Touch controller, while HSPI handles high-speed SD Card operations, eliminating SPI bus collisions.
3D Wireframe & GUI Engine
Hardware-accelerated double-buffering with smooth 2D windows, touch events, widgets, and 3D wireframe math routines.
Seamless Device Pairing
Link your ESP32 in seconds using the pairing code displayed on your screen. Once paired, cloud services synchronize automatically.
Cloud AI Assistant
Ask questions, generate JavaScript routines, and process sensor data directly from your microcontroller.
KryonDrive Cloud Sync
Upload scripts and assets from the web dashboard. Devices fetch manifests and automatically keep local apps synchronized.
KryonMail Preview
Account email integration designed for notifications, alerts, and message preview on your LCD screen.
Unified KryonOS Account
One single account for managing all your paired devices, cloud storage files, and AI services.
Engineered for ESP32 Dual-Core Silicon
A split dual-bus hardware architecture ensures zero display flicker, dedicated SD card throughput, and hardware-accelerated SHA-256 cloud handshakes.
Core 0: Duktape JS Engine
Event-loop runtime, dynamic script compilation, and graphics buffer
Core 1: Cloud & Cryptography
FreeRTOS daemon, TLS sockets, and hardware random number nonces
Dual SPI Bus Isolation
Dedicated high-speed display bus & independent storage bus
Standard Hardware Pinout Reference
Default GPIO assignments for standard 2.8" or 3.2" ILI9341 + XPT2046 shield
| Peripheral Module | MOSI / DIN | MISO / DOUT | SCK / CLK | Chip Select (CS) | DC / RS | Reset (RST) |
|---|---|---|---|---|---|---|
| ILI9341 Display (VSPI) | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 5 | GPIO 2 | GPIO 4 |
| XPT2046 Touch Controller | GPIO 23 | GPIO 19 | GPIO 18 | GPIO 21 | N/A | N/A |
| MicroSD Card Slot (HSPI) | GPIO 13 | GPIO 12 | GPIO 14 | GPIO 15 | N/A | N/A |
Quick Flash via Command Line (esptool)
Flash the pre-compiled binary images directly to your ESP32 in seconds.
Subscribe to KryonOS Updates
Get direct alerts for new firmware releases, verified hardware pinouts, and JavaScript API additions.
Support KryonOS
Help the KryonOS team purchase new development boards and hardware for testing, development, and expanding support for more devices.
Hardware Acquisition
Purchasing new ESP32-S3, ESP32-C6, M5Stack, LilyGO, CYD, and e-ink/OLED evaluation boards for direct physical testing.
Driver & HAL Development
Writing, optimizing, and porting low-level C++ display drivers (ST7789, GC9A01, ILI9342) and capacitive touch controllers.
100% Free & Open Source
Keeping the entire firmware, JavaScript engine, and documentation freely available for the community under GPLv3.
Frequently Asked Questions
Everything you need to know about the KryonOS native JavaScript engine, hardware pinouts, and cloud ecosystem.
KryonOS executes native JavaScript directly on the ESP32. It includes an embedded 3D/2D graphical touch window manager and instant outbound cloud pairing.