The Official Nerves Newsletter is now at nerves-project.org/newsletter.| Embedded Elixir
Upgrading your projects to newer Nerves System versions| Embedded Elixir
Making load-time crashes easier to debug| Embedded Elixir
AKA Getting usable stack traces from core dumps| Embedded Elixir
Because who doesn't want to control random things around them using nerves?| Embedded Elixir
Not just for distributed networks| Embedded Elixir
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.| Embedded Elixir
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.| Embedded Elixir
We are thrilled to announce Nerves v1.0 is finally out. This has been 4219 commits by 102 contributors since the initial commit on October 29th, 2013! This would not have been possible without our corporate sponsors and individual backers.| Embedded Elixir
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.| Embedded Elixir
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: Pretend it’s Unix Run it as a Windows app Unfortunately, there is no “silver bullet”–each approach has its trade-offs.| Embedded Elixir
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:| Embedded Elixir
While working on a Nerves project, you will likely do most hard work in the host environment. This means you get to develop features quickly, and when are ready, you simply deploy your known working firmware to your embedded devices. This however can lead to a situation where the code runs really well on your i7 powered beast computer, but when deployed on a less powerful Raspberry Pi 0, for example. Nothing will be broken, but things are just too slow. There are a number of solutions to this...| Embedded Elixir
Wondering what’s happening on the Nerves project? You’re not alone. We’re planning semi-regular updates so that you don’t need to lurk on the elixir-lang Slack’s #nerves and #nerves-dev channels all the time. Before the updates, I’d like to thank our Open Collective backers, Le Tote and FarmBot, since they’re majorly helping all of us make this project sustainable for the long term. Alright, here are the highlights:| Embedded Elixir
This is not an Elixir post, but it comes up when working with custom Nerves systems. The problem is how to deal with custom patches to Buildroot, Linux, or any of the non-Elixir libraries that your application might use. You may have seen patch files like these. These patch files are used to create local changes to projects when modifications either can’t be sent upstream (partial workarounds, hacks for specific systems, etc.) or haven’t been integrated yet. This post describes a way to c...| Embedded Elixir
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:| Embedded Elixir
ElixirConf 2017 was fantastic with a good selection of Nerves and embedded Elixir talks. Here’s a list:| Embedded Elixir
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.| Embedded Elixir
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.| Embedded Elixir
March was quite a month for talks starting with ElixirDaze in Florida, going to Erlang and Elixir Factory in San Francisco, and ending at the Lviv Ruby Meetup in Ukraine. Here’s a list of embedded Elixir and Erlang related ones that we found:| Embedded Elixir