Using Ecto and Sqlite3 with Nerves

One of the most common questions we answer in the Nerves help channels is how to store persistant data across reboots. Since the file system is read-only, the normal avenues usually will not work with Nerves.

There are several solutions that have yielded varying levels of success accross projects. Before we dive too deep into SQLite, lets take a look at the other options:

[Read More]

Using ASDF-vm

Solve All of Your Version Problems

Nerves usually pushes the bleeding edge of Elixir, which means we sometimes sometimes hear about problems in our Nerves Slack channel that can be solved by updating to the latest version of Elixir and OTP. Now, there are built-in options in most operating systems to do this, such as brew, apt-get, pacman etc, and they all work with varying levels of success. ASDF-vm is an alternate version manager that allows easy installation and switching between different versions of various packages.

[Read More]

Poncho Projects

An Alternative to Umbrella Projects

Recently in the Nerves community Slack channel, we have been talking about how umbrella projects can be problematic for a Nerves-based project. As a result, we have coined the tongue-in-cheek term “poncho projects” to refer to plain-old-Elixir projects with applications that use plain-old-dependencies. This is different than using an umbrella project, which come with some standard conveniences and interdependencies between applications in the project.

[Read More]

Firmware Updates

Firmware updates are an important aspect to all parts of the device lifecycle, not just production. In development, they can save you time not burning SD cards by using mechanisms like pushing firmware bundles over the network. Network updates can also pave the way to automate executing canary tests using real hardware. Firmware updates are important to these stages because they are the only way to modify the contents of the read only filesystem. [Read More]

Official Raspberry Pi Zero Support and new RPi Systems

It’s official. Tim Mecklem’s Raspberry Pi Zero/Zero W system is now part of the Nerves Project. Here’s why we’re so excited about this system: It only requires a MicroUSB cable, MicroSD card, and an RPi Zero for development. The MicroUSB cable provides power and access to the RPi’s IEx prompt. If you have a Zero W or a RedBear IoT pHAT, your programs have easy access to WiFi too. To use this, see the nerves_system_rpi0 project. [Read More]

Upgrading to Nerves 0.5

What's New and What's Changed

In early March, the Nerves Project published its v0.5.0 release, marking another big step forward in usability and completeness of the platform. In this post, I’d like to describe the major changes to be aware of as you upgrade existing projects or create new ones using Nerves 0.5. Refreshed Docs and Examples If you’re new to Nerves or you’ve been using it for a long time and just never got around to it, you may want to check out the Getting Started guides and documentation available on Hexdocs and the example projects available on GitHub. [Read More]