AtomVM - Run Elixir/Erlang code on microcontrollers

embedded
#1

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:
(GitHub: https://github.com/bettio/atomvm)

21 Likes
#2

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
#3

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:

2 Likes
#4

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
#5

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
#6

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

#7

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.

#8

I’ve also created #atomvm slack channel on elixir-lang.slack.com slack.

#9

congrats @bettio and nice project!

1 Like
#10

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:

2 Likes