Skip to main content

midiMESH: Network MIDI with Elixir on ESP32 via AtomVM

UA2.220 (Guillissen) | Day 2 | 13:40 - 14:05 | Speakers: Asep Bagja Priandana

midiMESH: Network MIDI with Elixir on ESP32 via AtomVM
A picture of a devroom at FOSDEM 2024
Open in browser

Notes

Abstract

This talk demonstrates how to build a wireless MIDI controller using Elixir, ESP32 microcontrollers, and AtomVM, proving that functional programming can run efficiently on resource-constrained embedded devices.

We'll explore how BEAM VM's lightweight processes and message-passing model naturally fit embedded systems programming, particularly for real-time applications like MIDI. The session covers practical implementation details: WiFi connectivity, UDP networking, MIDI message generation, and interfacing with physical controls like knobs and faders on ESP32-C3 hardware with just 400KB RAM.

Attendees will learn about AtomVM's subset of the BEAM VM designed for microcontrollers and the potential for building distributed music applications. We'll discuss how networked MIDI enables new possibilities for multi-device music systems and collaborative performance setups built on BEAM's distributed computing capabilities.

The project is fully open source and demonstrates a compelling use case for Elixir beyond traditional web services, showing how the language's concurrency model excels in IoT and real-time embedded systems.

Attachments


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.