GRiSP: Tiny BEAM VMs for Embedded and Real-Time Systems

2025-09-02
GRiSP: Tiny BEAM VMs for Embedded and Real-Time Systems

The GRiSP family introduces three Erlang/Elixir runtimes: Metal, a tiny BEAM for microcontrollers fitting in 16MB RAM; Alloy, a Buildroot-based real-time Linux system supporting multiple VMs; and Forge, a Yocto-based solution offering customization and long-term support. All boast fast boot times, security, and direct BEAM boot, offering a compelling option for edge computing and real-time applications.

Read more
Development Real-time systems

Booting Erlang on 16MB: A GRiSP Nano Achievement

2025-07-22
Booting Erlang on 16MB: A GRiSP Nano Achievement

The GRiSP Nano team achieved a significant milestone by successfully booting an Erlang virtual machine on a 16MB STM32U5 microcontroller. Initially aiming for 32MB, a CPU erratum forced a reduction. Through a series of optimizations, including removing the crypto library, aggressive compile/link flags, stripping BEAM files, RTEMS system tweaks, and allocator surgery, they overcame memory constraints. Disabling Unicode temporarily allowed them to reach the Erlang shell prompt. Future plans involve relocating code to internal RAM/Flash, shipping lightweight kernel/stdlib variants, adding energy-aware boot logic, and developing a Unicode-light build.

Read more
Development