You Gotta Have Heart

It’s one of an embedded developer’s worst nightmares: You have devices in the field, on remote sites, where you don’t have access to local staff to serve as your hands. You’re far from the devices, maybe on a different continent, even, and now you have a device that’s no longer responding to network requests, or not sending event data as expected. It is a terrible feeling. If you’re using Nerves to build firmware, you have tools at your disposal to help keep your devices online. [Read More]

Mocks and Explicit Contracts in Nerves

If you are not super new to Elixir, you may have read this blog post by José Valim. If you haven’t read it, you may want to check it out. This post references it frequently.

Nerves puts a lot of focus into spending as much time developing your application on your host machine. This means you can rapidly develop your application, write tests, etc. When you feel it is ready you can then burn your firmware to a device and it will just work. This has an issue though.

[Read More]

Provisioning Nerves Devices

Life after nerves.local

When you’re starting out with Nerves, you may have connected to your first projects over the network using nerves.local. Libraries like nerves_init_gadget make this easy and when you’re starting out, it’s really convenient. Don’t know the IP address that your device was assigned? Try nerves.local and you’re good to go.

And then you add a second device to your network. nerves.local isn’t looking so convenient any more.

[Read More]

Reverting firmware updates

Deployed a firmware image that doesn’t quite work? Made a mistake in development and don’t want to remove and reprogram the MicroSD card to go back? No problem. If the previous firmware image worked fine, then just revert back to it.

This is one of those features that has been possible since the beginning of the Nerves project, but we didn’t make it easy. That’s changing.

[Read More]

The Road to Windows

Most Elixir developers prefer Mac or Linux, but Windows is historically the platform of choice for embedded development. Therefore as Nerves continues to grow, a Windows solution is needed.

There are 2 fundamental approaches to Nerves-on-Windows:

  1. Pretend it’s Unix
  2. Run it as a Windows app

Unfortunately, there is no “silver bullet”–each approach has its trade-offs.

[Read More]

January 2018 Nerves Update

Happy New Year from the Nerves team!

We’re marching ahead with our 1.0 plans and methodically going through our constituent projects to get them across the “finish” line. Work priorities have forced some Nerves development on tangents, but some of those may be of interest as well. Here’s a summary of what’s been happening:

[Read More]