Setup Pi Zero WiFi

To connect my Pi Zero over WiFi I ordered an adapter from AdaFruit.* The white cable in the picture above is a Micro-USB adapter. You can buy it separately or as part of the Pi Zero budget pack.

The cable is handy for testing and plugging in various devices.  Later, if you need a more compact design you can buy a Tiny OTG Adapter

Before you can get the WiFi to work, you need to connect to the Pi Zero so that you can edit a file. Because there is only one USB port, you need to look at a few options.

Even though it would be convenient to have the adapter plugged in while you set it up, that’s not completely necessary.  You would need a powered USB hub, HDMI adapter, keyboard, mouse, etc.

Or you can go through the steps to ssh into the Pi Zero over USB and edit the files from a host computer.

Assuming you are now connected and in a terminal window on the Pi Zero, do the following (these instructions are for a Mac):

Expand the File System

This isn’t directly related to WiFi, but if you’ve just setup a new image, the first thing you should do is expand the file system.

  • At the command line type:
        sudo raspi-config
  • Select: 1 Expand Filesystem
  • Click: OK

Change the Hostname and Password

We are now going to put the Pi Zero on the network. Now would be a good time to change the hostname and password from their defaults.

Assuming you are still in raspi-config:

  1. Select: 2 Change User Password
  2. Follow the steps until you are back at the main menu
  3. Select: 9 Advanced Options
  4. Select: A2 Hostname
  5. Follow the steps to change the hostname (you do NOT need to include .local)
  6. When you are done select <Finish> at the bottom of the menu
  7. Select <Yes> when asked if you want to reboot

Remember that now you will need to use the new hostname and password when connecting to the Pi Zero via ssh.  So if you renamed your Pi Zero to “myzero” then you would need to login like this (using the new password):

    ssh pi@myzero.local

After the Pi Zero reboots:

  • Login in again using the new hostname and password as indicated
  • Type the following at the command line:
        sudo nano /etc/network/interfaces
  • Edit the file so that it matches mine (but replace the wpa name and password settings with your network name and network password):
    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

    auto lo
    iface lo inet loopback

    iface eth0 inet dhcp

    allow-hotplug wlan0
    auto wlan0
    iface wlan0 inet manual
        wpa-ssid "your-network-name"
        wpa-psk "your-network-password"
        iface default inet dhcp
        # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    # allow-hotplug wlan1
    # iface wlan1 inet manual
    #     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

When you are done, save the file (Ctr-X, Yes, Enter).

Shutdown the Pi Zero by executing the following at the command line:

    sudo poweroff

Connect over WiFi

Plug your WiFi Adapter into the USB OTG cable and plug the other end into the data / peripheral port on your Pi Zero (see picture above). Then plug in the power cable. Do that from a wall adapter so that you can prove that the Pi Zero is now wireless.

Give the Pi Zero enough time to boot. Then try connecting via ssh (using the new hostname and password!).

Get the Updates

Once connected over WiFi, the next thing you should do is run some updates:

    sudo apt-get update -y
    sudo apt-get upgrade -y

Troubleshooting

These instructions were for a specific adapter talking to my Apple router. If you are using something different you may need to do some research into the make and model of your equipment. You may end up needing to install some drivers or update the properties in the /etc/network/interfaces file.

References


Mitch Allen is a game developer, tech writer and robot maker. To download his latest games and books please visit his Web site at mitchallen.com


  • Unless stated otherwise: all links to AdaFruit are NOT affiliate links. They are simply provided for convenience.