Raspberry Pi first time setup

Setting up a Raspberry Pi for the first time
Published: by
Last updated:
Raspberry Pi

After installing Raspbian, there are a couple of things to do to get better functionality out of the Raspberry Pi. The Raspi-config tool is the first place to start.

For a fresh operating system install, some hardware functionality needs to be activated (or can be deactivated) and the operating system itself needs to be configured. In many cases, the default password needs to be changed and unused software packages might be excessive and can be removed.

To increase accessibility and to ensure uniformity, most steps are shown using terminal commands. For its first boot, it’s best to have the Raspberry Pi connected to a screen, keyboard and mouse. A connection to a local area network, in the form of an Ethernet cable, will make things very easy, but a Wi-Fi connection can also be configured and used. After the initial setup, the Raspberry Pi terminal can also be accessed using PuTTY over a network.


The Raspberry Pi Software Configuration Tool (Raspi-config) is where most hardware and operating system settings are configured. Common configuration options include setting up the Wi-Fi network, expanding the filesystem, changing the user password, setting language and regional settings, activation of hardware ports, and changing the audio settings (see later).

Raspi-config Raspbian Jessie
The Raspberry Pi Software Configuration Tool. Also called Raspi-config. Over time Raspi-config has changed and the menu options might look a bit different on different distributions.

Raspbian Wheezy, Raspbian Jessie Lite, and Raspbian Stretch Lite will boot straight into the terminal immediately asking for a username and password. The default username:password for Raspbian is pi:raspberry.

Raspbian Jessie and Raspbian Stretch will boot into the GUI. To access the terminal from Raspbian Jessie and Raspbian Stretch, click on the terminal button. Raspi-config can also be accessed from the menu.

Raspbian GUI terminal icon
Raspbain Jessie GUI interface. To access the terminal, use the terminal icon on the top of the screen.

On some distributions, the very first boot might open Raspi-config automatically (e.g. Raspbian Wheezy). If this is not the case, Raspi-config can be accessed using the following terminal command:

sudo raspi-config

To use Raspi-config from the terminal, the keyboard arrow buttons are used to move to the desired menu item and it is selected with the Enter key. The Escape key can also be used to cancel certain options and to exit Raspi-config.

After completing most of the configuration settings Raspi-config will return to the main menu. The Raspi-config tool can be accessed at any time to update its settings.

Upgrading from a Raspberry Pi 2 with Raspbian Wheezy to a Raspberry Pi 3

When using a Raspberry Pi 3 (vs. Raspberry Pi 2 or earlier), Raspbian Wheezy will not boot out of the box. Raspbian Wheezy needs a distribution update while running on a Raspberry Pi 2:

sudo apt-get dist-upgrade

After this update has finished, the MicroSD card can be transferred to a Raspberry Pi 3. To use a Raspberry Pi 3 or higher, rather stick to the newest distribution of the operating system [e.g. Raspbian Jessie (Lite) or Raspbian Stretch (lite)].

Raspi-config settings

Some settings are highly recommended, optional and while some are required.

Network configuration (recommended)

To be able to update Raspbian and Raspi-config, a connection to the internet is required. Connecting to a local network with SSH enabled (see later) will also give terminal access to the Raspberry Pi by using PuTTY.

When an Ethernet cable is used to connect to a network, a dynamic IP address will be automatically created. When Wi-Fi is used, the network name (SSID) and password (also called the passphrase or pre-shared key) will need to be supplied. As from Raspbian Stretch, this can be done using the Raspi-config tool. To use the GUI or terminal instead, also see 3 ways to connect a Raspberry Pi to a network using Wi-Fi.

Raspbian Stretch Raspi-config Network Options

To change the Wi-Fi settings from Raspi-config, go to Network Options -> Wi-Fi. From the menu, select your country, enter the SSID and password.

The configuration settings for wireless connectivity is stored in the /etc/wpa_supplicant/wpa_supplicant.conf file.

Updating the Raspi-config tool (recommended)

If an internet connection is configured (see Network configuration above), the Raspi-config tool can be updated to the latest version. If available, this option is either under Advanced Options or, simply, under Update.

Expanding the Filesystem (recommended)

To ensure that all the SD card storage is available to Raspbain, the filesystem should be expanded. When writing a Raspbian image to a MicroSD card, a portion of the card will be unused. Choosing this option will expand the installation to fill the rest of the SD card, giving more space to use for files.

Expanding the filesystem on Raspbain

The Expand Filesystem menu item is either available on the main menu or under the Advanced Options menu.

Changing the user password (recommended)

The Change User Password menu item will allow the logged-in user to change the login password. Changing the password, especially for the user ‘pi’, adds to the security of the Raspberry Pi. The next time the user is prompted for a username and password, this password will be accepted instead.

Changing the default audio output hardware (optional)

The default audio output hardware will be set to auto but can be forced to only use the 3.5 mm audio jack or the HDMI port. For the audio output hardware settings, go to Advanced Options -> Audio.

Raspbian audio out settings

The audio output hardware settings is stored in the /boot/config.txt file.

Correcting Overscan (optional)

This setting will allow compensation for screens using overscan. When using a monitor or TV screen, overscan might, or might not create a fuller image. Try enabling or disabling this setting in Overscan under the Advanced Options menu.

Change the default language, location (time zone), keyboard settings & Wi-Fi country (recommended)

Choose Localisation Options (or Internationalisation Options for Raspbian Wheezy) and go through the menu items one by one.

Raspbain Localisation Options

Change Locale will set up language and regional settings and Change Timezone will set the clock offset (difference) from Coordinated Universal Time (UTC) determined by your country. More than one language can be selected, after which the default language will be asked. I usually choose UTF-8 en_ZA.

For the Change Keyboard Layout menu item, I usually choose the Generic 105-key (Intl) PC setting and then when prompted next under Keyboard Layout I choose English (US). I don’t use keyboard functions so I just choose the default settings there.

Raspbain Localisation Options

The Change Wi-Fi Country option is only available from Raspbain Jessie.

After these settings have been configured, use the Back option to enter the main Raspi-config menu again.

Changing the hostname (recommended)

The hostname is used as the name of the Raspberry Pi and is used to identify it on a network. By default, each Raspberry Pi is named raspberrypi. To avoid network clashes, each computer/Raspberry Pi on a network should have a unique hostname.

The hostname is not the username. The hostname can be changed in Advanced Options -> Hostname or Network Options -> Hostname. This will change the visible name of the Raspberry Pi on a network (e.g. from pi@raspberrypi ~$ to pi@yourhostnamehere ~$).

Enabling SSH (optional)

SSH (Secure Socket Shell) is a network protocol that provides a secure way to access a remote computer (in this case the Raspberry Pi) by using username/password authentication. On some Raspbian distributions, SSH is enabled by default.

When a ‘connection refused’ error is received when trying to connect with, for example, PuTTY and/or WinSCP, try enabling SSH first. SSH will pose a security risk if you’re not using it, in which case it is better to deactivate it. SSH can be enabled/disabled under Interfacing Options -> SSH or Advanced Options -> SSH.

Raspi-config SSH settings

Activating the camera module (optional)

To be able to use the Raspberry Pi camera module, the camera connection port needs to be activated. With the Raspi-config tool, the camera connection is either enabled under Interfacing Options -> Camera or Enable Camera.


After all the settings have been configured, the Raspi-config tool can be exited by selecting the Finish option. Even if the Rapi-config tool does not ask for it, it is always recommended to reboot the Raspberry Pi afterward.

sudo reboot

Doing system updates (recommended)

Before moving on from the first time setup, Raspbian should be updated. This can be done before or after rebooting (mentioned in the previous step). Running updates regularly on the Raspberry Pi ensures that all the software packages are up to date. This will ensure smoother operation, fewer security vulnerabilities, and greater compatibility. To be able to update Raspbian packages, a connection to the internet is required. Raspbian is updated with the following two terminal commands.

sudo apt-get update
sudo apt-get upgrade
About the author
Renier busies himself with improving his English writing, creative web design and his websites, photoshopping, micro-electronics, multiple genres of music, superhero movies and badass series.
Behind the Scenes is a free, informative website. If you find value in any of our content, please consider making a donation to our cause.
Donate via PayPal

Save, share & discuss

Your comment is important, but don't be a knob. Keep it constructive and polite.

Leave a Reply

Your email address will not be published. Required fields are marked *

More Raspberry Pi related posts