This is the base Nerves System configuration for the Raspberry Pi 3 Model B.
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 |
If available in Hex, the package can be installed as:
-
Add nerves_system_rpi3 to your list of dependencies in
mix.exs
:def deps do [{:nerves_system_rpi3, "~> 0.11.0"}] end
-
Ensure nerves_system_rpi3 is started before your application:
def application do [applications: [:nerves_system_rpi3]] end
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.