Introduction
Welcome to Kaluma! Kaluma is a tiny and efficient JavaScript runtime for RP2040 (Raspberry Pi Pico). If you are a JavaScript developer familiar with Node.js, you can make electronics without learning a new language like C/C++ or Arduino sketch. Written in C99 and built on JerryScript - A lightweight and efficient JavaScript engine.
Main features
- Small footprint. Runs minimally on microcontrollers with 300KB ROM with 64KB RAM.
- Support modern JavaScript standards (ECMAScript 5/6/6+). Powered by JerryScript.
- Has internal event loop like as Node.js for asynchronous.
- Has built-in modules including file systems (LittleFS, FAT), graphics, networking and more.
- Support RP2's PIO (Programmable I/O) inline assembly in JavaScript code.
- Provides very friendly API that resembles Node.js and Arduino.
Related Tools
- Kaluma CLI - A command-line tool to program devices running Kaluma runtime.
ECMAScript
Kaluma supporting full ES (ECMAScript) 5.1 and the most of ES2015+ standards as below:
- Arrow Functions
- Typed Arrays
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
ArrayBuffer
DataView
- Set
- Map
- Promise
- Symbol
- Constants
- Async Functions (
async
andawait
) for-await-of
language element- Iterator and
for-of
operator - Generator Functions
- Classes
- Default Parameter Values
- Destructuring Assignment
- Rest Parameter
- Object Initializer
- Template String
- Numeric Separators
- Nullish Coalescing Operator