Previous Announcements
December 2023 (866 Words, 5 Minutes)
2023/12/10 Announcing AtomVM v0.6.0-alpha.2 (Pre-release)
This pre-release has a build dependency change from OpenSSL to one on Mbed-TLS to provide cryptographic functions for the generic_unix platform.
Numerous bugs have been fixed since the last release including where guards would raise exceptions instead of just being false, precision of integers used with timers which could yield to halts and wait times smaller than expected, and big endian CPUs are working again.
New features include the introduction of OTP socket interface support, support for net:getaddrinfo/1,2
, minimal OTP ssl
interface support, crypto:strong_rand_bytes/1
using Mbed-TLS on generic_unix, ESP32 and RP2040 platforms, support for crypto:one_time/4,5
on Unix and Pico as well as for crypto:hash/2
on Pico. Improvements for the STM32 platform include complete device configuration without the need to edit hardcoded values in the source files, complete GPIO driver support, and improved performance by enabling flash cache and i-cache.
For the full set of bug fixes, changes and additions consult the Changelog.
Download images and binaries are available for most platforms, except STM32 (and some generic_unix hosts for this release due to specific Mbed-TLS requirements) are available from AtomVM Releases on GitHub. STM32 users as well as anyone needing to build a generic_unix port for a device without release binaries should consult the Build Instructions.
The git repository and tarballs of the AtomVM source release for all platforms can be found on our GitHub AtomVM page.
Documentation for the v0.6.0-alpha.2 pre-release of the AtomVM virtual machine, including a Getting Started Guide, can be found at the AtomVM Documentation page.
As always, tools, drivers, and modules are available on the GitHub AtomVM Project page.
Many thanks go to Davide Bettio, for creating such a fine work of software, as well as the contributors and testers who have helped make this release possible.
The AtomVM team
2023/10/09 Announcing AtomVM v0.6.0-alpha.1 (Pre-release)
This is a follow up to the recent v0.6.0-alpha.0 release that fixes some bugs and adds a few new features.
The ESP32 port gains support for ULP wakeup, and expands crypto support. Basic wifi support has been added for the RPi Pico W. There is now the ability to select from heap growth strategies as a fine-tuning option to spawn_opt/2,4
. Several platforms now have the ability to set the system clock with atomvm:posix_clock_settime/2
. A few more standard Erlang functions have been added to the core libraries as well. For a complete list of all the changes consult the Changelog.
Download images and binaries are available for most platforms (for now stm32 ports must be build locally) are available from AtomVM Releases on GitHub.
The git repository and tarballs of the AtomVM source release for all platforms can be found on our GitHub AtomVM page.
Documentation for the v0.6.0-alpha.1 pre-release of the AtomVM virtual machine, including a Getting Started Guide, can be found at the AtomVM Documentation page.
We have a growing collection of tools, drivers, and modules available on the GitHub AtomVM Project page.
Many thanks go to Davide Bettio, for creating such a fine work of software, as well as the contributors and testers who have helped make this release possible.
The AtomVM team
2023/09/01 Announcing AtomVM v0.6.0-alpha.0 (Pre-release)
After many months of work, we are happy to announce a pre-release of v0.6.0-alpha.0 of the AtomVM virtual machine, a lightweight implementation of the BEAM for small and cheap micro-controllers!
This pre-view contains many improvements and bug fixes that the AtomVM team has been working on, including SMP support on all multi-core platforms, support for the ESP32-S3, ESP32-C3, and ESP32-S2 chips, and the addition of a very basic rp2040 (a.k.a. Raspberry Pi Pico) port, as well as an emscripten port using nodejs with Wasm to run AtomVM in the browser. See the Changelog for all the improvements, bug fixes, and breaking changes since the 0.5.0 release.
Download images for the ESP32 family are available on the AtomVM Releases GitHub page. Other platforms should consult the Build Instructions for the v0.6.0-alpha.0 release.
The git repository and tarballs of the AtomVM source release for all platforms can be found on our GitHub AtomVM page.
Documentation for the v0.6.0-alpha.0 pre-release of the AtomVM virtual machine, including a Getting Started Guide, can be found at the AtomVM Documentation page.
We have a growing collection of tools, drivers, and modules available on the GitHub AtomVM Project page.
Many thanks go to Davide Bettio, for creating such a fine work of software, as well as the contributors and testers who have helped make this release possible.
The AtomVM team
2022/04/05 AtomVM Example Programs
We have extracted our example programs into a self-contained and growing github repo with minimal dependencies. For example, if you have flashed the AtomVM image to an ESP32 device, you can simply use rebar3 to build and flash your applications, making the compile/flash/debug cycle you experience on embedded devices fairly painless.
Please note that at this stage, support for building Elixir programs is quite far behind that of Erlang, so best to stick with Erlang until further notice.
2022/03/22 Announcing AtomVM 0.5.0
After many months of work, we are happy to announce version 0.5.0 of the AtomVM virtual machine, a lightweight implementation of the BEAM for small and cheap micro-controllers!
This release of AtomVM is our first development preview release. We are still shaking out some of the rough edges, but we feel the release is stable enough for intrepid developers to get started with simple Erlang or Elixir programs.
A binary image of ESP32 release can be found in the download section of the AtomVM web page.
The git repository and tarballs of the AtomVM source release for all other platforms can be found on our GitHub project page.
Documentation of the AtomVM virtual machine, including a Getting Started Guide, can be found at the AtomVM Documentation page
Many thanks go to Davide Bettio, for creating such a fine work of software, as well as the contributors and testers who have helped make this release possible.
The AtomVM team