Release Notes

Welcome to AtomVM 0.6.1

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

See also

For a detailed list of changes since the last release consult the Changelog.

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. For information about how to update from previous versions of AtomVM, see the AtomVM Updating page.

ESP32 Support

AtomVM supports deployment on the Espressif ESP32 family of architectures.

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 Espressif ESP SoCs:

Espressif SoCs

AtomVM support

ESP32

ESP32c3

ESP32s2

ESP32s3

AtomVM currently supports the following versions of ESP-IDF:

IDF SDK 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 to build AtomVM from source. See the Build Instructions for information about how to build AtomVM from source code.

STM32 Support

AtomVM supports deployment on the STMicroelectronics STM32 architecture.

AtomVM has been tested on the following development boards:

STM32 Development Boards

AtomVM support

Nucleo-F429ZI

STM32F4Discovery

BlackPill V2.0

Due to the proliferation of boards for the STMicroelectronics STM32 platform, AtomVM does not currently support pre-build binaries for STM32. In order to deploy AtomVM to the STM32 platform, you will need to build AtomVM for STM32 from source. See the Build Instructions for information about how to build AtomVM from source code.

Note

AtomVM tests this build on the latest Ubuntu github runner.

Raspberry Pi Pico Support

AtomVM supports deployment on the Raspberry Pico RP2040 architecture.

AtomVM currently supports the following Raspberry Pico development boards:

Development Board

AtomVM support

Raspberry Pico and Pico H

Raspberry Pico W and Pico WH

Building the AtomVM virtual machine for Raspberry Pico 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 to build AtomVM from source. See the Build Instructions for information about how to build AtomVM from source code.