Skip to content

Embedded Gleam for Everyone: D. Bettio & G. Cavalieri on Microcontrollers

October 23, 2026 · 57 min

Show notes

In 2017, Davide Bettio created AtomVM to run Erlang, Elixir and Gleam code on embedded devices with just a few kilobytes of memory. Fast forward to today, and Giacomo Cavalieri of the Gleam core team has built tooling that flashes a Gleam project onto a board with a single command.

Two dollars, some sensors, and a weekend is all it takes to get started with embedded Erlang development. No more dealing with low-level C, complex drivers, or painful debugging. Gleam's delightful developer experience combined with AtomVM's BEAM bytecode support brings approachable IoT to the masses.

In this episode, Davide and Giacomo share:

  • How AtomVM squeezes the BEAM onto memory-constrained devices
  • Why Gleam and AtomVM are a perfect match for hobbyists and students
  • Davide's "scar story" of a buggy AtomVM-powered home thermostat leaving him debugging in the cold
  • The trade-offs of the AtomVM standard library and how to extend it
  • Writing Gleam bindings for AtomVM features via Erlang FFI
  • Example projects to tackle as an embedded Gleam beginner
  • What's possible with $2 boards, some sensors, and MQTT

Recorded October 12, 2026.

Resources:

All episodes of BEAM There, Done That

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.