Nerves - Create firmware for embedded devices like Raspberry Pi, BeagleBone Black, and more

elixir, embedded, nerves



Craft and deploy bulletproof embedded software in Elixir

Backers on Open Collective Sponsors on Open Collective CircleCI Hex version

Host Requirements

  • Mac OS 10.10+
  • 64-bit Linux (tested on Debian / Ubuntu / Redhat / CentOS / Arch)
  • Windows 10 with Windows Subsystem for Linux 2 (experimental)
  • Raspberry Pi 3 (experimental)
  • Elixir ~> 1.9

See Installation Docs for software dependencies.


Generating a New Nerves Application

mix my_app

Building Firmware

export MIX_TARGET=rpi3
mix deps.get      # Fetch the dependencies
mix firmware      # Cross-compile dependencies and create a .fw file
mix firmware.burn # Burn firmware to an inserted SD card

Note: The mix firmware.burn target relies on the presence of ssh-askpass. Some users may need to export the SUDO_ASKPASS environment variable to point to their askpass binary. On Arch Linux systems, this is in /usr/lib/ssh/ssh-askpass


Installation Docs

Getting Started

Frequently-Asked Questions



User Interfaces

Advanced Configuration

Compiling non-BEAM code

Customizing Systems


This project exists thanks to all the people who contribute.

Please see our Contributing Guide for details on how you can contribute in various ways.

Metal Level Sponsors

Metal level sponsors are companies that allow core team members to maintain and extend Nerves for a portion of each work week. Nerves is not a product of any one company. We also have a soft spot for supporting makers and hobbyists using the BEAM, and it would be difficult to do this without them.

[Become a metal level sponsor]

OpenCollective Backers

Thank you to all our monetary backers! Hardware costs money and without support, we wouldn't be able to support nearly as many devices. 🙏 [Become a backer]

OpenCollective Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Copyright (C) 2015-2021 by the Nerves Project developers