Skip to main content

About the JARU programming language

What is JARU?​

JARU is a general-purpose programming language that focuses on code simplicity and readability. It's an object-oriented language with dynamic types that runs on a fast and compact virtual machine.

It's designed to run on devices with limited resources, such as the ESP32 or the ESP32-P4 and ESP32-S31 (RISC-V). Its virtual machine is specially optimized to occupy little memory space and execute quickly and efficiently, making it particularly suitable for IoT development.

Main features​

  • Dynamic data types: JARU doesn't require specifying the data type of a variable before assigning a value.
  • Clean and direct syntax: Easy to learn and understand.
  • Built-in garbage collector: Forget about manually freeing memory.
  • High customization: Wide variety of options and tools.
  • Productivity: Allows writing code quickly and efficiently.
  • Flexibility: Easily adapts to different projects and environments.

The JARU ecosystem​

JARU IDE​

The environment for writing JARU programs, testing them on the Windows VM without a board, and taking them to an ESP32 board. It includes:

  • For writing and testing: the code editor, with autocompletion and errors underlined as you type, and the debugger, with breakpoints and the Watch window.
  • For games: the image, sprite, tilemap and scene editors (the scene editor builds rooms without writing code), and the Music Tracker for music.
  • For hardware: the GPIO simulator, which tests the pins on Windows without a board, and the I2C drivers, for sensors and other I2C chips.
  • Git, for version control without leaving the IDE.

Every tool, with what it does, is in The IDE at a glance.

Board tools​

Built into the IDE:

  • ESP32 Tools (Config › Platform › ESP32): sets up the board from its board profile (display, sound, SD card, I2C bus and network: WiFi, NTP and MQTT) and writes the VM firmware to it (Flash Firmware).
  • Run, with the board selected in Build › Target: compiles the program and uploads it to the board, which starts it.
  • Open Serial, in the Output window: the serial monitor, with what the program prints.

Supported platforms​

  • Development: Windows 10/11 (64-bit)
  • Deployment: the Windows VM and the ESP32, ESP32-S3, ESP32-P4 (RISC-V) and ESP32-S31 (RISC-V) boards

Where to go next​

Contact​

Author​

Created by Jon Otero Fernández with ❤️


© 2022-2026 JARU Programming Language. All rights reserved.