/nerves_system_rpi3

Base Nerves system configuration for the Raspberry Pi 3

Primary LanguageElixirApache License 2.0Apache-2.0

Raspberry Pi 3 Model B

CircleCI

This is the base Nerves System configuration for the Raspberry Pi 3 Model B.

Fritzing Raspberry Pi 3 image
Image credit

Feature Description
CPU 1.2 GHz quad-core ARMv8
Memory 1 GB DRAM
Storage MicroSD
Linux kernel 4.4.50 w/ Raspberry Pi patches
IEx terminal HDMI and USB keyboard (can be changed to UART)
GPIO, I2C, SPI Yes - Elixir ALE
ADC No
PWM Yes, but no Elixir support
UART 1 available - ttyS0
Camera Yes - via rpi-userland
Ethernet Yes
WiFi Yes - Nerves.InterimWiFi
Bluetooth Not yet

Installation

If available in Hex, the package can be installed as:

  1. Add nerves_system_rpi3 to your list of dependencies in mix.exs:

    def deps do [{:nerves_system_rpi3, "~> 0.11.0"}] end

  2. Ensure nerves_system_rpi3 is started before your application:

    def application do [applications: [:nerves_system_rpi3]] end

Built-in WiFi Firmware

WiFi modules almost always require proprietary firmware to be loaded for them to work. The Linux kernel handles this and firmware blobs are maintained in the linux-firmware project. The firmware for the built-in WiFi module on the RPi3 hasn't made it to the linux-firmware project nor Buildroot, so it is included here in a rootfs-additions overlay directory. The original firmware files came from https://github.com/RPi-Distro/firmware-nonfree/blob/master/brcm80211/brcm.

Image credit: This image is from the Fritzing parts library.