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.

