Tiny Erlang VM
AtomVM is a minimal Erlang virtual machine implementation that brings Erlang, Elixir, and other functional languages to embedded systems and microcontrollers. It implements a subset of ErlangVM features and can run unmodified BEAM binaries on resource-constrained systems including ESP32 SoCs, STM32 MCUs, Raspberry Pi Pico, generic Unix platforms, and WebAssembly environments. The project is written primarily in C and supports compilation from Erlang, Elixir, and Gleam, using build tools like CMake, rebar3, and the Erlang/Elixir compilers. AtomVM was created by Davide Bettio and is now developed by a growing community of contributors, with support from companies including Dashbit and Software Mansion.