Juegos y proyectos para ESP32, hechos en un solo sitio
JARU es un lenguaje de programación sencillo y un IDE para Windows. Escribes el programa, lo pruebas en el PC sin placa y se lo envías a la placa con un botón.
Gratis · Windows 10 y 11 de 64 bits

- 4
- chips: ESP32, S3, P4 y S31
- 13
- placas con su perfil hecho
- 20
- módulos: pantalla, sonido, red…
- 38
- ejemplos en el instalador
Hecho con JARU
Esto es lo que puedes hacer
Juegos y demos escritos en JARU, en la VM de Windows. Sprites, mapas de tiles, físicas y sonido salen de los módulos del lenguaje, y el mismo código corre en una placa ESP32.
Ver los ejemplos en GitHubCómo se trabaja
Del código a la placa en tres pasos
Escribe
El editor colorea el código, completa los nombres y subraya los errores mientras escribes, sin esperar a compilar.
El editor de códigoPrueba en Windows
Run ejecuta el programa en la VM de Windows. El depurador lo para donde digas, y el simulador GPIO hace de LEDs, botones y sensores.
El depuradorLlévalo a la placa
Elige tu placa en Build › Target y pulsa Run: el IDE compila el programa, lo sube y la placa lo arranca.
Tu programa en una placa
JARU IDE
Todo lo que lleva un juego, y el hardware
No hace falta otro programa para dibujar, montar las salas, componer la música ni grabar la placa.
Editor de escenas
Monta las salas de un juego sin escribir código: capas de tiles y de imagen, y objetos con comportamientos, reglas y estados. El IDE convierte cada sala en código JARU.
Cómo se usa
El lenguaje
Se lee como se piensa
JARU es un lenguaje de tipos dinámicos, con clases y recolector de basura, hecho para caber en un microcontrolador.
- Bloques con end: sin llaves ni sangrado obligatorio.
- Clases con herencia, structs, funciones anónimas y try y catch.
- Display.fps da a los juegos el mismo ritmo en Windows y en todas las placas.
- El mismo programa, sin cambios, en la VM de Windows y en la placa.
use Display
Display.open(320, 240)
Display.fps = 30 // 30 fotogramas por segundo
var draw = Display.draw
draw.colorBG = 0x102040 // el color con el que update() borra la pantalla
var x = 160.0
var y = 120.0
var vx = 90.0 // píxeles por segundo
var vy = 60.0
while (true)
draw.color = 0xFFCC00
draw.circle(x, y, 10, true)
draw.text(8, 8, "Hola, JARU", 0xFFFFFF)
Display.update() // enseña el fotograma y espera al siguiente
x = x + vx * Display.dt
y = y + vy * Display.dt
if (x < 10 or x > Display.viewWidth - 10) then
vx = -vx
end
if (y < 10 or y > Display.viewHeight - 10) then
vy = -vy
end
end
Placas
Tu placa, ya preparada
El IDE trae el firmware de la VM para cada chip y el perfil de 13 placas: eliges la tuya y la pantalla, el sonido y los pines quedan puestos.
ESP32
Pantallas SPI
- LILYGO T4 v1.3
- Diymore ESP32 2.8
- Binghe ESP32 1.96
ESP32-S3
Pantallas SPI, QSPI e i80
- JARU JaruCade
- Waveshare ESP32-S3-Touch-LCD-2.8
- Waveshare ESP32-S3-Touch-AMOLED-1.8
- Freenove FNK0086
- Freenove FNK0104
- LILYGO T-Watch S3
- Wireless-Tag WT32-SC01 Plus
ESP32-P4
RISC-V, pantallas MIPI-DSI
- Waveshare ESP32-P4-WIFI6-Touch-LCD-4.3
- Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
ESP32-S31
RISC-V, nueva en la 0.9.7
- Espressif ESP32-S31-Korvo-1
Del concepto a la creación, todo empieza con una línea
Instalas el IDE, abres un ejemplo y pulsas Run. La placa puede esperar: todo funciona antes en Windows.
Gratis · Windows 10 y 11 de 64 bits
JARU es un proyecto personal e independiente. Empezó para aprender cómo se hacen un compilador y una máquina virtual, y creció hasta ser un IDE completo. Es gratis.