Introduction to KryonOS
The Native JavaScript Operating System for ESP32 microcontrollers with 3D GUI and Cloud Fleet connectivity.
KryonOS is an open-source standalone JavaScript operating system designed specifically for ESP32 and ESP32-S3 microcontrollers. Built upon the Duktape JavaScript engine (API Level 2) and FreeRTOS, KryonOS enables developers, makers, and IoT engineers to execute JavaScript applications, render hardware-accelerated 2D/3D touch GUIs on SPI TFT displays, and communicate across cloud tunnels and decentralized peer-to-peer mesh networks.
Open Source Project
KryonOS is 100% free and open source. Star and contribute on GitHub (Haris16-code/KryonOS).
Core System Capabilities
Standalone JavaScript Engine
Executes standard ECMAScript (ES5.1+) directly on ESP32 silicon via Duktape 2.7 with zero external Node.js runtime or gateway requirements.
Hardware-Accelerated Graphics
Includes a 16-bit RGB565 graphics pipeline with window management, vector fonts, UI widgets, and a 3D wireframe math engine for ILI9341, ST7789, and ST7796 displays.
Outbound Cloud Tunnel
Connects to the KryonOS Cloud dashboard using outbound reverse long-polling over TLS. Provides instant remote REPL, OTA firmware updates, and fleet metrics behind restrictive firewalls and NATs.
KryonBeam P2P Mesh
ESP-NOW based decentralized mesh networking enabling peer-to-peer packet broadcasting and unicast communication without local Wi-Fi router dependencies.
Dual-Core FreeRTOS Architecture
KryonOS distributes tasks across both Xtensa LX6/LX7 cores to guarantee smooth 60 FPS graphics alongside high-bandwidth networking:
| Subsystem | FreeRTOS Core | Responsibilities |
|---|---|---|
| System & Network | Core 0 (PRO_CPU) | Wi-Fi 802.11b/g/n, Outbound Cloud Tunnel, KryonBeam Mesh, TLS handshake, Background OTA sync |
| Engine & Display | Core 1 (APP_CPU) | Duktape VM evaluation, Touch Controller polling, SPI DMA rendering, App event loop, Garbage collection |
+-----------------------------------------------------------------+
| KryonOS User JavaScript Apps |
+-----------------------------------------------------------------+
| Touch GUI Manager | KryonBeam P2P | Cloud Telemetry / REPL |
+---------------------+-----------------+-------------------------+
| Duktape Embedded JavaScript Engine (v2.7) |
+-----------------------------------------------------------------+
| FreeRTOS Kernel | ESP-IDF Hardware Abstraction Layer |
+-----------------------+-----------------------------------------+
| ESP32 / ESP32-S3 Dual-Core Silicon (240MHz) |
+-----------------------------------------------------------------+
Supported Hardware Platforms
KryonOS runs on standard ESP32 development modules and purpose-built commercial devices:
| Platform | SoC | Display | Touch IC | Storage |
|---|---|---|---|---|
| ESP32 DevKit + ILI9341 | ESP32-D0WDQ6 (240MHz) | 2.8" TFT (240x320 SPI) | XPT2046 Resistive | 4MB / 8MB SPI Flash |
| CYD (ESP32-2432S028R) | ESP32-WROOM-32 | 2.8" TFT (240x320 SPI) | XPT2046 Resistive | 4MB Flash + MicroSD |
| M5Stack Cardputer v1.1 | ESP32-S3-FN8 | 1.14" ST7789V2 (135x240) | 56-key Matrix Keyboard | 8MB Quad SPI Flash |
| LilyGO T-HMI | ESP32-S3-WROOM-1 | 2.8" ST7789V (240x320) | Resistive Touch | 16MB Flash + 8MB PSRAM |
Next Steps
- Quickstart & Flashing Guide: Flash the pre-compiled binary bundle or compile from source.
- Hardware & Display Wiring: Complete pinout schematics for ESP32 and ILI9341 display modules.
- JavaScript API Reference: Explore the built-in GPIO, Display, Touch, and KryonBeam APIs.
- Cloud Fleet Pairing: Connect your device to the web console for live monitoring and remote scripting.