A user-friendly tool for downloading and writing pre-built Nerves firmware images to MicroSD cards.
- Circuits Quickstart - Simple examples for GPIO, I2C, SPI and more
- Nerves Livebook - Interactive notebooks for learning Elixir and Nerves
- Nerves Kiosk Demo - Demonstration of using Phoenix LiveView with an embedded fullscreen web browser
Please refer to the Elixir installation docs.
Nerves Burner uses fwup to unpack and write
Nerves firmware images to MicroSD cards. This is convenient but not required.
If fwup is not installed, Nerves Burner will provide step-by-step instructions for using alternative tools such as dd (on Linux/macOS) or Etcher (cross-platform) to write the firmware image to your MicroSD card. You do not need to install fwup if you prefer to use these tools.
For more information, see the Etcher documentation or refer to your operating system's instructions for using dd.
Installation instructions are at
github.com/fwup-home/fwup. If
you're using MacOS, just run brew install fwup.
Download the latest nerves_burner executable from the Releases page:
curl -L -o nerves_burner https://github.com/fhunleth/nerves_burner/releases/latest/download/nerves_burner
chmod +x nerves_burnerRun the executable:
./nerves_burnerGitHub hosts the firmware images and sometimes rate limits downloads. If you're
affected, let nerves_burner know your personal access token and it will log in
for the download:
export GITHUB_TOKEN=your_github_personal_access_tokenCreate token at: https://github.com/settings/tokens (needs public repo read access only)
GITHUB_TOKEN / GITHUB_API_TOKEN: Avoid rate limiting
export GITHUB_TOKEN=your_github_personal_access_tokenNERVES_BURNER_FORCE_UPDATE: Force update check (for testing)
export NERVES_BURNER_FORCE_UPDATE=1Downloaded firmware is cached in OS-appropriate directories:
- Linux:
~/.cache/nerves_burner - macOS:
~/Library/Caches/nerves_burner - Windows: Local app data cache
Nerves Burner needs to ask macOS for elevated permissions to write the MicroSD card. Sometimes the dialog box that asks for permission doesn't show up where it's easy to see. It will eventually timeout when permission isn't granted. That's the error message. It seems like trying again always works.
Contributions are welcome!
If you maintain Nerves firmware and would like to have it included in
nerves_burner, please post an issue or send a PR. We'd like to include
maintained community projects as well so that it's easy to discover and try out
interesting Nerves projects.
