Creative Hardware

KryonOS Puts a JavaScript Runtime and an App Store on a $15 ESP32 Board

GUI, graphics library, SD card filesystem, hardware APIs and downloadable apps — running on the Cheap Yellow Display.

The ESP32-2432S028 — universally known as the Cheap Yellow Display — is a board with a 2.4” touchscreen, an ESP32, and a price low enough that you buy several without thinking about it. It’s the default answer when a project needs a screen and some buttons.

Writing for it is the usual embedded experience: a toolchain, a flash cycle, and a build step between you and every change.

KryonOS, by developer Haris (GitHub: Haris16-code), is an attempt at a different relationship with the hardware. It’s a JavaScript-based operating system for the ESP32.

What’s in it

  • A built-in JavaScript runtime interpreter
  • A simple GUI and graphics library
  • SD card filesystem access
  • Hardware APIs
  • An integrated app store for downloadable software

It runs on a wide variety of ESP32 boards with screens, the Cheap Yellow Display very much included.

Why a scripting language on a microcontroller is the point

The app store is the tell. An app store only makes sense if apps are small, self-contained things a person can write in an afternoon and someone else can install without a toolchain — which is exactly what an on-device interpreter buys you and a C++ build does not.

This is the same bet MicroPython made, and the same bet Badge.Team’s Python platform made for conference badges, where the whole point is that an attendee with no embedded experience writes something during the talk. Hackaday drew that comparison directly. The lineage is well established; JavaScript is a reasonable next entry in it, if only on the grounds that the population of people who can already write it is enormous.

The video above covers MicroPythonOS, the closest established comparison — an Android-like, scripting-language OS for the ESP32. It’s a good look at what this category of project feels like to use before you flash anything.

What you’d actually use it for

For creative hardware, the honest use cases are the ones where iteration speed beats performance:

  • Installation control panels — a touchscreen that sends OSC or MIDI, where the layout changes four times during install week
  • Prop and set electronics, handed to someone who needs to adjust a timing value on site and doesn’t own the toolchain
  • Workshop teaching, where a build step is the thing that loses half the room
  • Badges and handhelds, the use case this genre was born in

What you would not use it for is anything where the interpreter overhead matters. An addressable LED installation driving thousands of pixels at frame rate wants compiled code and a tight loop, and an interpreted OS is the wrong tool with no argument.

The trade is old and well understood — you give up determinism and headroom to get a machine you can change in ten seconds. On a board that costs less than lunch, that trade is usually worth making.