Setup a headless Raspberry Pi Zero with Wifi from Windows- Raspbian Stretch

The Raspberry Pi Zero has an unusually sized HDMI port which means it can be hard to hook up to a monitor. If you’re just using it for the terminal you don’t need to see the output anyway. Here’s how to set it up with SSH and Wifi so you’ll just need a power cable to get started.

Download the latest Raspbian Stretch image. Don’t use the noobs installer.


Follow their installation guide to get it onto the SD card. You’ll need to flash the image to the card with Etcher or a similar tool to make sure everything has the correct permissions and boots properly.

Etcher automatically ejects the disk once flashing is completed so remove it from your computer and reinsert it. You’ll probably see a message about needing to format the drive before you can use it. Be sure not to format the drive or you will have to start over.

Open a text editor like Notepad++ and create a file on the drive called “ssh”. The tricky part here is that it need to have no extension. In Windows this is kind of frowned upon but to get it to happen chose save as > change the file type to “all files (*.*)” and then save it as “ssh” with the quotation marks. The quotation marks will be stripped away and no extension will be added. This file can be blank.

Create one more file and save it as “wpa_supplicant.conf” also to the root of the drive so it’s one of the first files that you see. This file needs your wireless network information and be sure it’s correct or you’ll spend a while troubleshooting.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

Then eject the drive and put it into your Raspberry Pi. You can power it up but I would recommend pulling up your router admin page now before you do. This should make it easier to spot the new IP address which you’ll need to connect to the Raspberry Pi. By default, it’s called “raspberrypi” on the network but it’s not as reliable in my experience as the IP address.

Default user and password pi and raspberry

Once you have that you’re ready to SSH into the machine with your preferred SSH program. Personally, I use Bitvise SSH which has tons of functionality but still is the easiest to configure correctly. Here’s the website. The download link is “Bitvise SSH Client installer “