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

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.
Development