AtomVM - Run Elixir/Erlang code on microcontrollers


I wrote a story on Medium about the project I’ve been working for a while in my free time: how to run Elixir code on a 3 $ (ESP32) microcontroller. :smile:


Crazy and ambitious - I love it! Is it a goal of Astarte to get Elixir running on microcontrollers, or are you tinkering for fun and profit?

1 Like

No, Astarte is not related to it :slight_smile: Astarte is my company IoT open source project and also the reason I started to use Elixir a lot every day. AtomVM is just my crazy free time project, so it’s just for fun. :smiley: Anyway I hope someone will find it useful :slight_smile:


It is definitely interesting - I will keep an eye on it :wink: It is alluring to dream of replacing C with Elixir for embedded. Probably wouldn’t work for things with hard real-time requirements though. You mentioned LoRa specifically in the article, have you done anything with LoRa in Elixir?

1 Like

not yet, but I have already the hardware that waits to be tested. LoRa might be a plan for the forthcoming christmas holidays, I hope to implement a GenLoRa soon :smiley:

1 Like

I stumbled across your blog post! I was wondering if you’ve had any luck with networking on the esp32 with elixir.


yes, it is already possible to send UDP packets, my home thermostat is an ESP32 with AtomVM and it sends an UDP packet every minute with the current temperature :slight_smile:
There is also some underway work to implement something similar to gen_tcp and gen_udp right now, so current support is going to be replaced with something better.


I’ve also created #atomvm slack channel on slack.


congrats @bettio and nice project!

1 Like

This is a really cool project. I am playing around with the ESP32 myself, and besides using C with ESP-IDF I am toying around with Micropython.
However, I would much rather use Elixir :wink: