JARU, a from-scratch language, VM and IDE for ESP32 / S3 / P4 prototyping
Posted: Tue Jun 23, 2026 3:46 pm
Hi everyone,
I would like to share JARU, a project I have been developing solo for ESP32. It is a complete but lightweight programming ecosystem: a scripting language with OOP, a bytecode virtual machine written in C++, and a Windows IDE. The aim is to make fast prototyping of IoT, graphics and interactive apps on ESP32 boards easier, not to replace ESP-IDF or Arduino, but to sit on top as a higher-level environment for prototyping, education and graphics experiments.
The core is a hardware-agnostic VM: the same bytecode runs on ESP32, ESP32-S3 and ESP32-P4, plus Windows and the browser (via Emscripten). I'm currently migrating the P4 target from Arduino-framework libs to native ESP-IDF.
What's included so far:
A small interpreted, OOP-capable language and an embedded-friendly VM
Drivers: Display (via LovyanGFX) with 2D graphics & sprites, GPIO, I2C, Timers, RMT LED strips, MQTT and HTTP
A 2D engine with physics, scenes and a tilemap pipeline
A Windows IDE: editor with minimap, code beautifier, go-to-definition, tilemap editor, GPIO simulator, and integrated flashing/debugging
A simulator-oriented workflow so you can test before flashing to hardware
To stress-test it I've written several demoscene-style effects and small games, vector balls, Conway's Game of Life on an 8×8 NeoPixel matrix, plus Pacman and Space Invaders, all tuned to run within the ESP32's .
Website: https://jarulang.com/en/
Docs (EN/ES): https://jarulang.com/en/docs/
GitHub: https://github.com/jonotero/jaru-public
Youtube: https://www.youtube.com/@JaruLang/videos
I'd really value feedback from ESP32 developers. Two things I'm especially curious about:
Does this kind of higher-level tool make sense for your ESP32 work, and which board should JARU support next?
For anyone who has done the Arduino → ESP-IDF migration (especially on the P4): any peripheral gotchas you'd warn me about?
Any suggestions or criticism are welcome. Thanks for reading!
I would like to share JARU, a project I have been developing solo for ESP32. It is a complete but lightweight programming ecosystem: a scripting language with OOP, a bytecode virtual machine written in C++, and a Windows IDE. The aim is to make fast prototyping of IoT, graphics and interactive apps on ESP32 boards easier, not to replace ESP-IDF or Arduino, but to sit on top as a higher-level environment for prototyping, education and graphics experiments.
The core is a hardware-agnostic VM: the same bytecode runs on ESP32, ESP32-S3 and ESP32-P4, plus Windows and the browser (via Emscripten). I'm currently migrating the P4 target from Arduino-framework libs to native ESP-IDF.
What's included so far:
A small interpreted, OOP-capable language and an embedded-friendly VM
Drivers: Display (via LovyanGFX) with 2D graphics & sprites, GPIO, I2C, Timers, RMT LED strips, MQTT and HTTP
A 2D engine with physics, scenes and a tilemap pipeline
A Windows IDE: editor with minimap, code beautifier, go-to-definition, tilemap editor, GPIO simulator, and integrated flashing/debugging
A simulator-oriented workflow so you can test before flashing to hardware
To stress-test it I've written several demoscene-style effects and small games, vector balls, Conway's Game of Life on an 8×8 NeoPixel matrix, plus Pacman and Space Invaders, all tuned to run within the ESP32's .
Website: https://jarulang.com/en/
Docs (EN/ES): https://jarulang.com/en/docs/
GitHub: https://github.com/jonotero/jaru-public
Youtube: https://www.youtube.com/@JaruLang/videos
I'd really value feedback from ESP32 developers. Two things I'm especially curious about:
Does this kind of higher-level tool make sense for your ESP32 work, and which board should JARU support next?
For anyone who has done the Arduino → ESP-IDF migration (especially on the P4): any peripheral gotchas you'd warn me about?
Any suggestions or criticism are welcome. Thanks for reading!