The Raspberry Pi is lots of fun to experiment with and will teach you a lot about computers. I think anyone interested in learning about computers or the internet should have one. The only obstacle with the Raspberry Pi is that it doesn’t come with a monitor or keyboard. You can connect an external monitor to it, but many people choose to run it “headless”. Headless means we can operate it without the keyboard and monitor we are used to having on most computers. This is all very easy to do, even if you have never booted your Raspberry Pi. You don’t need a monitor and keyboard to use your Raspberry Pi. All you need is another computer with internet access and an SD card reader, an ethernet cable, and access to your router to plug in the ethernet cable.

Here’s a video showing the steps, but read below for the specifics:

I will explain how to set up your Raspberry Pi for the first time without a monitor and keyboard. We will use a remote SSH connection to access the command prompt of the Pi to do the initial set up and install the packages for a desktop interface (GUI). After we we boot up the Pi for the first time, we will be able to configure it to run from the command prompt or the desktop via a remote desktop application.

Gather all the Pieces

The first step is to download Raspbian, the operating system which I will be using in this tutorial. You can download it here from the Raspberry Pi Foundation.

Raspberry Pi ORG Raspberian

Just download the ZIP file, and Extract it to a new folder on your Mac or PC. You will now have a single .img image file containing the Raspbian operating system:

Raspbian Inage File

Next, we will need a program that can write the Raspbian operating system image file onto an SD or microSD card. Win32DiskImager will do this, so download and install it to your Mac or PC.

Win32Disk Imager

Now, we will need a way to access the command prompt of our Raspberry Pi over our home internet connection. We can do this with a remote SSH client called PuTTY. SSH (Secure Shell) is a network protocol for secure data communication, remote command-line login, remote command execution, and other secure network services between two networked computers. PuTTY establishes an SSH connection from our home computer to our Raspberry Pi. PuTTY will display the command prompt of the Raspberry Pi on the computer in which it is installed. All we need to do is to give it the local IP address of the Raspberry Pi. Download and install PuTTY to your PC. If you are using a Mac, you can just use Terminal, click here for good tutorial on SSH via Terminal.

PuTTY

We will also need a way to find the local IP address of your Raspberry Pi once it is connected to the router via the ethernet cable. There are many ways to do this, but one very simple way is to use Advanced IP Scanner. With this program, you can scan your home network (i.e. your home WiFi) and find out the local IP addresses of all devices connected to your home network.

Advanced IP Scanner

Another way is to log into your router’s configuration page to list all the connected devices, but this method is not always possible if you don’t have access to the router’s username and password. To do this, look for the product number on the back of the router, and search online for the user manual for it. There will be instructions on how to access the router’s configuration page and how to view the connected devices.

Write the Raspian Operating System to the SD/microSD Card

Now we are ready to write the Raspbian OS to our SD/microSD card. Open Win32DiskImager, and select the Raspbian image file that was extracted earlier by clicking on the little file icon to the right of the large text field:

Win32Disk Write 1

Next, select the drive letter that the SD/microSD card is inserted into from the drop-down list below “Device.”

Win32Disk Write 2

Now click “Write” on the bottom of the window. The write process will take from 1 to 15 minutes depending on your computer and the size of your SD/microSD card:

Win32Disk Write 3

Wait for the process to complete, then eject the SD/microSD card from your computer and insert it into the Raspberry Pi.

Win32Disk Write 4

Now you are ready to power up the Raspberry Pi. Plug the power cord into the Raspberry Pi, and connect the Pi to your router via the ethernet cable.

Establish an SSH Connection to your Raspberry Pi

In order to access the Raspberry Pi via remote SSH, we need to know the local IP address your router has given to it. If you are able to access this information from your router’s configuration menu, go ahead and do it. If not, use Advanced IP Scanner to scan your home network and generate a list of all connected devices and their local IP addresses. Just click “Scan” in the upper left hand area of the window, and a list of all connected devices will be generated with their associated local IP addresses:

Advanced Ip scanner scan

Write down the IP address for the device that says Raspberry Pi Foundation in the “Manufacturer” column. In my case it is 10.0.0.105. We will need the local IP address to establish an SSH connection from our home computer to the Raspberry Pi.

Now we can set up our SSH connection to the Raspberry Pi with our SSH client, PuTTY. Open up PuTTY, and enter the local IP address of the Raspberry Pi into the “Host Name (or IP address)” field. Don’t worry about the port for now, keep it as is:

Raspberry Pi PuTTY Warning

After you have entered the local IP address of your Raspberry Pi, click “Open” to initiate the connection. On the first connection attempt, an error message will appear, but press yes anyway since you are connecting to your own Raspberry Pi so the security risk is minimal here:

Raspberry Pi PuTTY Warning

If the SSH connection is successful you will now be greeted with the login prompt of your Raspberry Pi:

raspi login

If this is your first login, and you have not changed the username or password, type type pi here, then press Enter. Next, enter raspberry as the password. You are now logged in to your Raspberry Pi’s command prompt via an SSH connection:

raspi after entering password, before sudo raspi-config

At this point, it’s a good idea to configure your Raspberry Pi by entering raspi-config to enter the configuration settings menu:

raspi config

This is where you can change all of the default settings for Raspbian, and do other useful tasks like expand the file system and overclock the processor. I explain all of the different configuration settings in a separate post, but for now, let’s continue setting up your Raspberry Pi so that you can operate it headlessly via a remote desktop application:

Setting up WiFi and Accessing the Raspberry Pi Desktop (GUI)

If you have any questions about this post, or are having issues setting up your Raspberry Pi over SSH, please leave a comment below and I will try to answer it!

Need an easy-to-use way to design circuits and layout PCBs?