Building embedded software used to be hard: you had to think about firmware updates, how to configure the low-level network stack, be mindful about the edge cases that will render your device inoperable, just to name a few. In this talk we’ll understand how Nerves simplifies all this, letting us use Elixir to build embedded software. And to illustrate how awesome it is to use Elixir in this context, we’ll create a keyboard controller from scratch with Nerves and a Raspberry Pi Zero.