Run Erlang, Elixir and Gleam where the BEAM was never meant to fit.

AtomVM lets you build with Erlang, Elixir and Gleam for microcontrollers, IoT systems and WebAssembly-powered frontends, using familiar tools and a modern concurrent programming model.

Functional, Virtual Machine

AtomVM brings the BEAM programming model to tiny systems through a compact virtual machine built for constrained environments.

It runs standard BEAM bytecode and includes a carefully selected set of Erlang/OTP runtime APIs, plus original APIs tailored for microcontrollers and IoT devices.

IoT Made Easier

With AtomVM, you can write your IoT applications in a functional programming language, using a modern actor-based concurrency model, making them vastly easier to write and understand!

Built-In Advanced Features

AtomVM includes many advanced features, including process spawning, monitoring, message passing, pre-emptive scheduling, efficient garbage collection, Erlang Distribution, and JIT/AoT compilation.

Peripherals & Protocols

It can also interface directly with peripherals and protocols supported on microcontrollers, such as GPIO, I2C, SPI, and UART. It also supports WiFi networking on devices that support it, such as the Espressif ESP32. All of this on a device that can cost as little as $2!

4 min read

Announcing AtomVM v0.7.0-alpha.0

We are thrilled to announce the release of AtomVM v0.7.0-alpha.0, the first pre-release on the road to v0.7.0 and by far the biggest AtomVM release to date. This alpha includes...

Read more
See more news