Repository navigation
KryonOS v2.0.0 - Major Release #10
Replies: 2 comments 1 reply
|
Feedback on v2.0.0 from a CYD (/ ESP32-2432S028R) user — it boots and runs, with two fixes pending in PRs. Also two documentation errors in this post worth correcting. Two errors in the flashing instructions1. The CYD line in the flashing example points at the wrong binary. Under "Flashing Standard ESP32 Targets (DevKit V1, ESP32-CYD-28)" the command is: but the firmware table above it correctly lists 2. The S3 filenames don't match the table either. The example uses The CYD binary doesn't boot yet — tracked in #11Not a documentation issue: the Verified on hardware after both: boots, mounts the SD card, touch responds, KryonCloud pairing completes. The |
|
@korey-barrett, could you please develop some JavaScript apps for KryonOS? You can use this guide to get started with KryonOS app development: Once the apps are ready, please create a PR in the KryonOS App Store repository: https://github.com/Haris16-code/KryonOS-AppStore You’ll find everything you need in the App Development Guide, or you can also read the README in the App Store repository for the submission process. Once the PR is reviewed and merged, the app will be automatically published to the KryonOS App Store and made available globally. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
KryonOS v2.0.0 marks a monumental milestone in the evolution of our open-source microcontroller operating system. This major release introduces multi-board hardware abstraction with official ESP32-S3 flagship support, full wireless Over-The-Air (OTA) updates, native KryonCloud integration with mesh messaging and cloud backups, a 3D hardware-accelerated graphics pipeline, an embedded Express-like web server, and an extensive suite of new JavaScript hardware APIs.
What's New in v2.0.0
1. Multi-Board Hardware Abstraction Layer (HAL)
Expanded device compatibility beyond the initial prototype with modular hardware profiles, independent display bus drivers, and dedicated pin mappings located under
src/Hal/Boards/.esp32-s3-devkitc-1-n16r8) [Tested & Verified]:qio_opi) enabled for high-resolution graphics and expanded JavaScript heap headroom.ARDUINO_USB_CDC_ON_BOOT=1).m5stack-cardputer) [EXPERIMENTAL]:partitions_cardputer.csv).lilygo-t-hmi) [EXPERIMENTAL]:esp32-cyd-28) [EXPERIMENTAL]:.inifiles undersrc/Hal/Boards/board_configs/(cardputer.ini,cyd.ini,t_hmi.ini) and imported automatically intoplatformio.iniusingextra_configs.Note on Experimental Boards: Target boards marked as
[EXPERIMENTAL]are implemented at the driver and HAL level but currently lack hands-on verification due to unavailable test hardware. The ESP32-S3 DevKitC-1 N16R8 remains the sole fully verified, physical bench-tested device. If you find any issue in the experimental boards once you have flashed them, please submit an issue on our GitHub repository. Community members with these experimental boards are strongly encouraged to test builds and submit calibration feedback.2. Smart Wireless Over-The-Air (OTA) Updates
Devices with large flash memory (8MB+) can now update KryonOS completely over Wi-Fi without needing a USB cable.
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=1) that automatically restores the previous working version if a newly flashed build fails to boot.3. KryonCloud Platform & Account Integration
A full native C++ system application located under the launcher item [ SYSTEM ] apps.
@handle), active Wi-Fi status, quick summary telemetry cards, and unpair button.MyKeyboard), real-time Server-Sent Events (SSE) streaming, and strictly bounded word-wrapping to prevent screen edge overflow.*), message composer, queue purge acknowledgment, and public group support./cloud/sharedand/cloud/devicewith SHA-256 verified downloading and background chunked uploading. Includes a full device backup and restore feature, accessible both from the device and via the Kryon Account web dashboard.4. New JavaScript Runtime Engines & APIs
Kryon.ai/System.ai/AI):Kryon.ai.stream(options): Real-time SSE token-by-token streaming directly into UI components without RAM exhaustion.Kryon.ai.ask(prompt, options, callback): One-shot LLM reasoning query with usage statistics and error handling.Kryon.ai.extract(options, callback): Schema-constrained structured JSON extraction from messy logs and sensor feeds.Kryon.ai.vision(options, callback): Computer vision analysis of screen buffer snapshots or camera images.Kryon.ai.status(): Real-time connectivity and daily credit quota monitoring.FastMath/System.math):FastMath.sin(),cos(),tan(),asin(),acos(),atan2(),sqrt(),hypot().FastMath.fastSin()andfastCos()for 60FPS animation loops.FastMath.random()andrandomRange()powered by silicon RF noise (esp_random()).mat4Multiply), Euler rotations (mat4Rotate), perspective projection (mat4Perspective), and bulk vertex projection (transformVertices).vec2Distance,vec3Distance,dot2,dot3,cross3,normalize2,normalize3,arraySum,arrayMinMax, andarrayDot.PI,HALF_PI,TWO_PI,DEG_TO_RAD,RAD_TO_DEG.Kryon3D/System.graphics3d):begin,clear,render/flush,end).fillRect,drawString,drawLine,drawRoundRect,fillCircle,drawPixel) layer directly onto the active 3D double buffer for game HUDs, weapons, and minimaps.setViewport), camera eye/target, FOV, and directional light shading (setCamera,setLight,setFog).drawLine,drawTriangle,fillTriangle(with automatic backface culling and flat directional shading),drawCube, anddrawBillboard.drawMeshcapable of transforming, culling, shading, and rasterizing entire polygon models in a single C++ call.Network):Network.get(),post(),put(),delete(), and unifiedrequest().Network.downloadFile()) directly to storage in 1024-byte chunks.isConnected(),hasInternet(),getIP(),getSSID(),getRSSI(), andshowWiFiPrompt().WebSocket):onopen,onmessage,onerror,onclose,send(),close().known_networks.json) with automated migration from legacywifi.txt.HttpServer):listen(),stop(),isRunning(),getPort(),getURL(),getStats(),poll(),reset().on(),get(),post(),put(),delete(),patch(),options(),use(),notFound(), and dynamic parameters (/user/:id,/files/*).req.query,req.params,req.body,res.status(),res.json(),res.html(),res.sendFile(),res.cors()).serveStatic) from LittleFS/SD with MIME detection and TWDT watchdog protection.PWM/System.pwm):setup(),write(),setDuty(),setFrequency(),setTone(),stopTone(),setServo(),detach(),getChannel(),reset().I2C/System.i2c):begin(),end(),scan(),ping(),readReg(),writeReg(),readReg16(),writeReg16(),readRegBytes(),write(),read(),reset().Wire.endTransmission(false)) for atomic register access on sensors (MPU6050, BMP280, ADS1115).I2C.reset()to release unacknowledged lockups from wedged slave devices.Crypto/System.crypto):Crypto.sha256()) and SHA-512 (Crypto.sha512()) computation.Crypto.hmacSha256()) for API tokens, AWS signature v4, and JWT verification.Crypto.aesEncrypt(),Crypto.aesDecrypt()) with PKCS#7 block alignment and padding validation.Crypto.randomBytes()) sampled directly from silicon RF noise.System.notify/Notification):SLIDE_IN→DISPLAYING→SLIDE_OUTover Y: −45 → +10).System.notify(),System.notify.dismiss(),System.notify.clearAll().System.ipc/IPC):System.ipc.launch(),System.ipc.getLaunchArgs()).fileAssociations: [".bmp", ".txt"]) with automatic handler resolution (System.ipc.openFile()).System.ipc.send(),System.ipc.onMessage()).For detailed architectural tutorials, memory management recommendations, and complete code samples, consult
Documentation/Kryon3D_Engine_Guide.mdandDocumentation/JS_API_Guide.md.5. Async Web Manager & Storage Dashboard Redesign
PROGMEM, requiring 0 bytes on LittleFS/SD./api/storageendpoint reporting LittleFS total/used/free, SD mount status, dynamic SoC chip model, free RAM, and conditional PSRAM stats./local/system/stars_cache.json) for instantaneous loading without network latency.Changes & Improvements
FileSystem::getTargetFSto use non-static string references and uniform trailing slash normalization across all file, directory, and storage calls.Documentation/JS_API_Guide.mdwith comprehensive API specifications for FastMath (Section 6) and Kryon3D (Section 7), and introduced a dedicated game development guide inDocumentation/Kryon3D_Engine_Guide.md.Firmware Downloads
Download the attached binary assets matching your hardware target:
bootloader-s3-n16r8.bin0x0000partitions-s3-n16r8.bin0x8000KryonOS-v2.0.0-esp32-s3-devkitc-1-n16r8.bin0x10000bootloader-m5stack-cardputer.bin0x0000partitions-m5stack-cardputer-8mb.bin0x8000KryonOS-v2.0.0-m5stack-cardputer.bin0x10000bootloader-lilygo-t-hmi.bin0x0000partitions-t-hmi.bin0x8000KryonOS-v2.0.0-lilygo-t-hmi.bin0x10000bootloader-esp32-cyd-28.bin0x1000partitions-cyd-28.bin0x8000KryonOS-v2.0.0-esp32-cyd-28.bin0x10000bootloader-esp32-wroom-32.bin0x1000partitions-esp32-wroom-32.bin0x8000KryonOS-v2.0.0-esp32-wroom-32.bin0x10000Flashing Instructions
Connect your ESP32 / ESP32-S3 board to your computer via USB and flash using
esptool.pyor the official Espressif Flash Download Tool.Flashing ESP32-S3 Targets (ESP32-S3 DevKitC-1, Cardputer, T-HMI)
Note: On ESP32-S3, the bootloader starts at offset
0x0000. Adjust--port COM3to match your system's serial port:Flashing Standard ESP32 Targets (DevKit V1, ESP32-CYD-28)
Note: On classic ESP32, the bootloader starts at offset
0x1000:Hardware Requirements
Primary Setup (Recommended)
Wiring Guide: For complete ESP32-S3 DevKitC-1 (N16R8) Display & MicroSD module pinout connections, refer to the Hardware Connection & Pinout Documentation.
Supported All-in-One Targets
Star the Project
If you enjoy using KryonOS or find this release exciting, please consider giving our repository a Star on GitHub! Every star helps boost visibility, attract contributors, and grow the embedded JavaScript ecosystem.
→ Star KryonOS on GitHub
Support Hardware Acquisition & Testing
Expanding native device support requires physical testing on real hardware. Due to budget constraints, experimental board ports (Cardputer, T-HMI, CYD) cannot yet be bench-tested in person.
If you would like to help us acquire these development boards, display modules, and test fixtures so they can become fully verified reference targets, please consider supporting the project:
→ Sponsor KryonOS
This discussion was created from the release KryonOS v2.0.0 - Major Release.
All reactions