Elixir ❤️ Embedded
Nerves is an open-source platform that combines the rock-solid BEAM virtual machine and Elixir ecosystem to easily build and deploy production embedded systems.
Get started FeaturesHardware doesn't have to be hard. Nerves makes edge computing easier by solving the most complex infrastructure problems. Let Nerves take care of the network, discovery, I/O, firmware updates, and more. Focus your team on what matters — writing robust and maintainable software.
Features
Portable
Nerves runs out-of-the-box on commonly available hardware. Nerves leverages Linux and Buildroot to minimize the effort to port to other devices.
Lean
Nerves uses Elixir Mix releases to include only the code you need. Most Nerves ports provide a Linux kernel and runtime with the basics so that you build up rather than trim down. Firmware sizes start in the 20-30 MB range.
Reliable
Nerves uses the Erlang runtime system, known for being distributed, fault-tolerant, soft real-time, and highly available. Nerves firmware is immutable so you know exactly what software is running.
Secure
Avoid hidden bugs and vulnerabilities with Nerves’ secure opt-in approach to building. Nerves starts minimal and provides regular security updates to Erlang and Linux components. SBOM information is available via the Buildroot integration.
Efficient
Take advantage of Erlang and Elixir’s I/O optimizations such as IOData that minimize data copies over the entire stack. Thanks to common abstractions, much of the ecosystem uses these features already.
Extensible
Nerves is just one part of the vibrant Elixir ecosystem. Take advantage of other Elixir projects like Phoenix, Nx, Livebook and more in embedded projects.