The open source Nerves Project provides a minimal environment for using Erlang on small embedded systems. With Nerves, you still have access to the networking and driver capabilities of the Linux kernel, but the user space is quite different – the Linux init process is the Erlang VM! Using Erlang release tools, Nerves packages your application and its required modules so that they start on boot.
Getting started with Nerves can look like an investment with the initially long build times, minimal environment, and cross-compiled build process. The result is a small, quick booting, and robust embedded system with the advantages of the Erlang ecosystem. This talk shows how to get started with Nerves in a fun way by building and updating control software for networked SumoBot-style robots. Not only will attendees leave knowing how to build their own low-cost Erlang-controlled bots, but they’ll understand how to get started using Erlang in small embedded systems.
Talk objectives:
The goal of the talk is to introduce programming small embedded Erlang devices in a cross-compiled environment and encourage experimentation on the awesome PawelBot robot platform (minus the Node.js parts, of course). A secondary goal is to motivate the use of Erlang in embedded systems now that they are powerful enough to easily run higher level languages.
Target audience:
- This talk will appeal to embedded software developers, hardware hackers, Raspberry Pi and BeagleBone enthusiasts and others interested in using Erlang, Elixir, or LFE in their embedded devices.
Frank Hunleth designs embedded Linux-based software that can be found in products spanning the medical, consumer, telecommunications and defense industries. His work on high density VOIP switches in the 1990s eventually led him to discover Erlang. Since then, he has re-implemented Erlang design elements in everything from a cutting edge diabetic screening device at LKC Technologies to motion controlled UI frameworks at Hillcrest Labs. He started the open-source Nerves project to make it easier to use Erlang in a cross-compiled environment. Twitter: @fhunleth Github: fhunleth