Why and how Erlang and AtomVM were used to develop the personality of a lovable IoT device while maximizing its battery life.
Session will include video demos of La Machine (https://la-machine.fr/) and most importantly the Erlang journey towards the product:
- hardware prototyping including a small ESP32c3 board powering it
 - usage of rebar3 to flash Erlang code on it
 - usage of console
 - usage of AtomVM API for GPIO and servo (PWM)
 - usage of CI with dialyzer and tests, including qemu
 - specific AtomVM API for ESP32 deep sleep
 - how a C library was ported as an AtomVM NIF for audio decoding, with a glimpse on AtomVM SMP builds (even if ESP32C3 is single core)
 - quick overview of memory management on AtomVM
 
Key Takeaways:
- How to use AtomVM to prototype and build IoT devices using Erlang or Elixir.
 - This includes using existing libraries (GPIO, PWM will be explicitely mentioned, but I2C is straightfoward), as well as porting more complex ESP32 component libraries as NIFs.
 
Target Audience:
- Erlang developers
 - Elixir developers
 - IoT enthusiasts and hackers