This is the base Nerves System configuration for the Raspberry Pi Zero and Raspberry Pi Zero W.
If you are not interested in Gadget Mode it might be worth checking out nerves_system_rpi. That image configures the USB port in host mode by default and is probably more appropriate for your setup.
Feature | Description |
---|---|
CPU | 1 GHz ARM1176JZF-S |
Memory | 512 MB |
Storage | MicroSD |
Linux kernel | 4.4 w/ Raspberry Pi patches |
IEx terminal | OTG USB serial port (ttyGS0 ). Can be changed to HDMI or UART. |
GPIO, I2C, SPI | Yes - Elixir ALE |
ADC | No |
PWM | Yes, but no Elixir support |
UART | 1 available - ttyAMA0 |
Camera | Yes - via rpi-userland |
Ethernet | Yes - via OTG USB port |
WiFi | Pi Zero W or IoT pHAT |
Bluetooth | Not supported yet |
The base image activates the dwc2
overlay, which allows the Pi Zero to appear as a
device (aka gadget mode). When plugged into a host computer via the OTG port, the Pi
Zero will appear as a composite ethernet and serial device.
When a peripheral is plugged into the OTG port, the Pi Zero will act as USB host, with
somewhat reduced performance due to the dwc_otg
driver used in other base systems like
the official nerves_system_rpi
.
The base image includes drivers for the Red Bear IoT pHAT and the onboard
Raspberry Pi Zero W wifi module (brcmfmac
driver).
If you are using another WiFi module (for example, a USB module), you will need to create a custom system image. Before doing this, check if the nerves_system_rpi works better for you. That image configures the USB port in host mode by default and is probably more appropriate for your setup.
Add nerves_system_rpi0
to your list of dependencies in mix.exs:
def deps do
[{:nerves_system_rpi0, "~> 0.16.0"}]
end
Image credit: This image is from the Fritzing parts library.