Introduction
Welcome to Kaluma! Kaluma is a tiny and efficient JavaScript runtime for RP2040 (Raspberry Pi Pico) and RP2350 (Raspberry Pi Pico2). 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
Int8ArrayUint8ArrayUint8ClampedArrayInt16ArrayUint16ArrayInt32ArrayUint32ArrayFloat32ArrayFloat64ArrayArrayBufferDataView
- Set
- Map
- Promise
- Symbol
- Constants
- Async Functions (
asyncandawait) for-await-oflanguage element- Iterator and
for-ofoperator - Generator Functions
- Classes
- Default Parameter Values
- Destructuring Assignment
- Rest Parameter
- Object Initializer
- Template String
- Numeric Separators
- Nullish Coalescing Operator