Hardware 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.
Nerves runs out-of-the-box on commonly available hardware. Nerves leverages Linux and Buildroot to minimize the effort to port to other devices.
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.
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.
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.
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.
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.