Release Notes

Welcome to AtomVM 0.6.0-alpha.0

These release notes provide version information about the current release of AtomVM.

Required Software

The following software is required to develop Erlang or Elixir applications on AtomVM:

  • An Erlang/OTP compiler (erlc)

  • The Elixir runtime, if developing Elixir applications.

  • (recommended) For Erlang programs, rebar3

  • (recommended) For Elixir programs, mix, which ships with the Elixir runtime.

AtomVM will run BEAM files that have been compiled using the following Erlang and Elixir versions:

Erlang Version

Elixir Version

✅ OTP 21

✅ 1.7

✅ OTP 22

✅ 1.8

✅ OTP 23

✅ 1.11

✅ OTP 24

✅ 1.14

✅ OTP 25

✅ 1.14

✅ OTP 26

✅ 1.15

Note. Versions of Elixir that are compatible with a particular OTP version may work. This table reflects the versions that are tested.

Not all BEAM instructions are supported for every Erlang and Elixir compiler. For details about which instructions are supported, see the src/libAtomVM/opcodes.h header file in the AtomVM github repository corresponding to the current release.

For detailed information about features and bug fixes in the current release, see the AtomVM Change Log.

ESP32 Support

To run applications built for AtomVM on the ESP32 platform you will need:

  • The esptool program, for flashing the AtomVM image and AtomVM programs to ESP32 MCUs.

  • A serial console program, such as minicom or screen, so that you can view console output from your AtomVM application.

AtomVM currently supports the following versions of ESP-IDF:

Espressif supported versions

AtomVM support

ESP-IDF v4.4

ESP-IDF v5.0

ESP-IDF v5.1

Building the AtomVM virtual machine for ESP32 is optional. In most cases, you can simply download a release image from the AtomVM release repository. If you wish to work on development of the VM or use one on the additional drivers that are available in the (AtomVM repositories) you will need a compatible version of (Espressif’s) ESP-IDF. Espressif provides excellent installation documentation.

STM32 Support

The following software is required to build AtomVM for the STM32 platform:

Package

11.3 ARM toolchain

libopencm3 version 0.8.0

Note. AtomVM tests this build on the latest Ubuntu github runner.

Raspberry Pi Pico Support

The following software is required to build AtomVM for the Raspberry Pi Pico platform:

Package

gcc-arm-none-eabi

libnewlib-arm-none-eabi

libstdc++-arm-none-eabi-newlib

Note. AtomVM tests this build on the latest Ubuntu github runner.