Essential Free Windows Software for Raspberry Pi Owners

Free Windows software to set up, maintain, and use your Raspberry Pi

Owning and using a Raspberry Pi requires a set of software packages to enable you to set it up, maintain it and write code for your projects. 

Tasks such as writing an image to an SD card, formatting your SD card, transferring files over your network or even logging in to your Pi remotely all require some form of program. Even writing a Python script for your project can involve feature-rich text editors if you prefer a more visually appealing canvas for your code.

Over the years I've tried many different options available for all of these tasks, and have settled on a few reliable packages that are all free to download.

Let's go through each software package and show the reasons that you might want to use each of them.

RealVNC Viewer

RealVNC Window
RealVNC gives you your Raspberry Pi desktop without the need for a second screen. Richard Saville

If you don't want to buy an extra screen, keyboard or mouse for your Raspberry Pi, why not log in to a VNC session from your PC and use your existing peripherals instead?

VNC stands for 'Virtual Network Computing' and allows you to view your entire Pi desktop from another computer - in this case our Windows PC.

After trying some alternatives, I'd recommend using RealVNC Viewer on your PC to view your Raspbian desktop.

Using RealVNC is easy. Simply start a VNC server on your Raspberry Pi (by using 'vncserver' in the terminal) and then log in to it from your PC using the IP details on the terminal and your pi's username and password.


Putty Terminal Emulator
Putty gives you a Raspberry Pi terminal window right on your desktop. Richard Saville

Similarly to RealVNC, if you don't have a separate screen and peripherals for your Raspberry Pi, how can you run scripts and write code?

SSH is another good option, using Putty - a simple terminal emulator that lets you run a terminal window on any PC connected to the same network.

All you need is your Pi's IP address and you can create a terminal window on your Windows desktop to write code, run scripts, execute commands and more.

The only limitation I have found is when running Python programs that have any kind of GUI element. These GUI windows won't open through the Putty SSH session - you'll need something like VNC (above in this list) for that.


NotePad++ gives great visual guidance for your coding sessions. Richard Saville

You can write your Python scripts directly into your Raspberry Pi using a terminal text editor such as 'nano', however it doesn't give you much visual feedback in terms of code layout, spacing and syntax highlighting.

Notepad++ is like a supercharged version of Windows' built-in Notepad, offering lots of features to help you write your code. My favourite feature is the syntax highlighting, showing your Python indentation nice and clearly.

Notepad++t also offers plugins to enhance its functionality. For example, the NppFTP plugin gives you basic SFTP functionality for moving code to your Pi once you've written it.


FileZilla gives you remote access to your Pi's files and directories. Richard Saville

If you would rather write your scripts in a text editor with good syntax highlighting (like NotePad++ above), you'll eventually need to move your code from your PC to your Pi.

There are a few options here including using USB sticks or online hosting, however my preferred method is to use SFTP via an application called FileZilla.

SFTP stands for 'SSH File Transfer Protocol' but all we need to know is that it lets you view your Pi's directories from your PC to upload/download files.

Like other applications here, FileZilla simply needs your Pi's IP address and username/password.


Win32DiskImager helps you write images to your SD card. Richard Saville

Every Raspberry Pi needs an SD card, and those SD cards need to have an operating system written to them.

Raspbian (and other options) are usually written to an SD card using a disk image which you need specific software for.

One of the most popular options for Windows is Win32DiskImager, which I've been using for the last few years alongside millions of other Pi enthusiasts.

It's a very straight-forward application that simply gets the job done. Attention is required to ensure the right drive is selected for writing, which is the only part of the process that really needs much attention.

SD Formatter

Format your SD cards properly with SDFormatter. Richard Saville

Before you can write a disk image to your SD card, you should ensure it's properly formatted.

Windows has built-in formatting capabilities, however I prefer to use the SD Foundation's official 'SD Formatter' tool for wiping my cards clean.

I have found that this application experiences fewer problems dealing with different card types and formats, and includes a few more options than Microsoft's offering.


H2testw has a strange name, but it's great for checking your SD cards are healthy, genuine and at the stated size. Richard Saville

Another free software package for your SD card, this time to check its speed and integrity before you use it.

Unfortunately, we live in a world full of counterfeit SD cards, so I always like to check I'm getting the advertised speeds before I use one.

This may seem slightly excessive, but considering Pi projects such as media centres see noticeable differences between card speeds, it's a worthwhile process.

The tool writes your card before commencing the test, so make sure you select the right drive number!

Angry IP Scanner

Angry IP Scanner
Angry IP Scanner shows the Ip addresses for the devices on your network. Richard Saville

A lot of the tools I've listed require you to know your Raspberry Pi's IP address. That's fine if you've set up static addresses, but what if your router assigns a random address each time a device connects to your network?

Angry IP Scanner can help you, by scanning your network within a defined range of IP​ addresses and returning a list of all active hosts (devices).

It's not quite as useful as the Fing Android app in that it doesn't always show the name of each device, so there can be a bit of trial and error finding the right IP address.

I only have a few active devices at home so this software works for me, especially when I don't have my phone to hand.