Skip to main content

The IDE at a glance

JARU IDE is the environment for making JARU programs. You write them, test them on the Windows VM with no board needed and, once they work, take them to an ESP32 board. It brings a code editor with a debugger, editors for everything a game needs (images, sprites, tilemaps, rooms and music) and tools for the hardware.

It runs on 64-bit Windows 10 and 11. How to install and update it: Installation.

JARU IDE debugging SpaceIntruders: the code editor stopped at a breakpoint, the Watch window with the variables and the game in its own window

At the top is the ribbon, with the buttons on three tabs: Home, Build and Config. Below it are the panels: the project explorer, the editors and the output windows. All of that is explained in The interface.

Writing and testing the program​

  • Projects. A project is a folder with its code, its images, sprites, tilemaps, music and rooms. The project wizard creates an empty one or copies an example for you, and the explorer shows its files.
  • Code editor. It colors JARU code, completes names with Ctrl+Space and underlines errors without waiting for a build. With Ctrl and a click on a name, you go to where it is defined.
  • Debugger. It stops the program at the lines you mark, steps through it line by line and shows you the value of the variables in the Watch window.

Run, on the Build tab, runs the program on the Windows VM or on a board: you choose it in Build › Target.

The game editors​

  • Image editor. It draws and touches up the project's images: pencil, lines, rectangles, ellipses, fill, selection, rotations and flips. When you build, it exports the ones with Include in Build checked.
  • Sprite editor. It cuts the frames out of a sheet and gives them animation, pivot and collider. The sprites of a character are grouped into an actor, with a pose for each thing it does.
  • Tilemap editor. It paints tilemaps. Each cell can also carry a cell value, which says what it is: floor, wall, spikes…
  • Scene editor. It builds the rooms of a game without writing code: tile and image layers, and objects with behaviours, rules and states. The IDE turns each room into JARU code.
  • Music Tracker. It composes music on four tone channels and one noise channel, or imports it from a MIDI file. When you build, each song is exported to a .jmu, which the game loads with Sound.loadMusic and plays with Sound.playMusic.

Your first game with rooms puts all of this together in a game with several rooms, step by step: the rooms, the code they generate, the game loop and moving from one room to the next.

The hardware​

  • GPIO simulator (Build › Debug › GPIO Sim). On Windows, it shows the pins your program uses and lets you connect simulated devices to them, such as LEDs, push buttons, potentiometers, an oscilloscope or a WS2812 strip. That way you test the program with no board.
  • I2C drivers (Home › View › I2C Controller). A library of drivers for sensors and other I2C chips, by category. You pick one, give it the port and the pins, and the IDE gives you the code. You can also create your own, by hand or with AI.
  • ESP32 Tools (Config › Platform › ESP32). It sets up each board from its board profile: the display, the sound, the SD card, the I2C bus and the network (WiFi, NTP and MQTT). It writes the VM firmware to the board (Flash Firmware) and the program (Upload Program). With the board chosen in Build › Target, Run uploads the program for you.

A JARU program runs on these platforms:

PlatformWhat it is
Windows VMThe VM that comes with the IDE, to develop and test with no hardware
ESP32 / ESP32-S3Espressif microcontrollers
ESP32-P4RISC-V architecture, with MIPI-DSI output for large displays
ESP32-S31RISC-V architecture, on the ESP32-S31-Korvo-1 board: 800x480 RGB display, USB keyboard and SD card

Everything else​

  • Git (Home › View › Git). Version control without leaving the IDE: which files have changed, commits, branches, the history, and Push, Pull and Fetch with a remote repository.
  • Settings (Config tab). Settings holds the paths of the compiler and the VMs, whether to check for updates on startup, the keys of the AI providers and the layout of the panels. Windows sets up the Windows VM of each project: its name, MQTT and the size of the window. Updates checks for a newer version.

Where to start​

  1. Install JARU IDE.
  2. Write your first program.
  3. Make your first game with rooms.
  4. Take your program to a board.

To get to know the IDE piece by piece, start with the interface and projects.

New to JARU?

If you don't know the language yet, start with the introduction to the language.