The Nerves Update

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:

  1. We integrated a Buildroot update that addressed the KRACK and a few other security vulnerabilities into nerves_system_br v0.14.1 and released updates to the official systems.
  2. Connor Rigby has been busy cleaning up nerves_network and associated projects for 1.0. We know that networking support has been rough for a few use cases and we’re working on addressing this.
  3. Connor also has a linter for those of you creating custom Nerves systems. We’ll be adding to it with the goal of catching subtle kernel and Linux package configurations that don’t work.
  4. Console resizing works on the Raspberry Pi Zero. The fix (currently in nbtty) is portable to other platforms. More importantly, nbtty also fixes a nasty hang issue on platforms using the gadget USB port for the IEx console.
  5. The Beaglebone port, nerves_system_bbb now supports the PocketBeagle.
  6. Initial support for the Raspberry Pi Compute Module 3 has been added to nerves_system_rpi3. Advanced support for USB gadget mode and running off eMMC Flash is not available yet.
  7. The GrovePi project now supports servo control using the PivotPi.
  8. Some corporate sponsorship has enabled work on integrating Chromium into a Nerves system. This will replace the current kiosk webbrowser solution that uses qtwebkitkiosk which can be found at kiosk_system_rpi3.
  9. Corporate sponsorship is also enabling support for platforms with raw NAND flash in fwup. This is relevent to Nerves use on very high volume devices.

Community initiatives:

  1. Mikel Cranfill has created a pru package to support the PRU microcontrollers found on the Beaglebone and similar boards. These are super useful for handling hard real-time tasks in embedded systems and we hope it will make them more accessible.
  2. Bluetooth support (specificially BLE support) has been a regular request for integration in Nerves. Several people have made custom systems with BlueZ installed or attached BLE modules (like Adafruit Bluefruit modules) via nerves_uart, but nothing has been integrated with an easy-to-use Hex package yet. Watch this issue if you’re interested in this.

Upcoming Nerves talks and training:

Elixir with Love - Providence, RI, November 10, 2017

  • Functional Full-Stack Systems with Elixir, Phoenix, Nerves, and Elm - Greg Mefford

ElixirConfMX 2017 - Mexico City, November 18, 2017

  • Keynote - Justin Schneck
  • Nerves Training - Ricardo Echavarría

Lonestar ElixirConf - Austin, TX, February 22-24, 2018

  • Keynote - Tim Mecklem
  • Nerves Training - Greg Mefford

ElixirConfEU 2018 - Warsaw, April 18th, 2018

  • Nerves Training - Frank Hunleth

Lastly, if I’ve missed anything, please let me know either here or on the elixir-lang Slack.

comments powered by Disqus