Essential Free Windows Software for Raspberry Pi Owners

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 a 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.

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.

It's a good idea to use 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.

What We Like

  • Very simple to use.

  • Adding connections only requires an IP address.

  • Expert options let you customize your RealVNC sessions.

  • RealVNC Viewer is free.

  • Available for a wide assortment of platforms.

What We Don't Like

  • There can be slight lag while remotely controlling your PI.

  • Your version of Raspberry PI must have a built-in VNC server.

  • Requires expert-level understanding of configuring the PI VNC server.

Putty

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 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.

What We Like

  • Works well for remote terminal sessions.

  • Easy to set up with just an IP address.

  • Putty is a free utility that doesn't require installation.

  • Putty lets you save sessions, making future connections fast.

What We Don't Like

  • Requires expert-level understanding of configuring SSH on your PI.

  • Putty has advanced settings that require a steeper learning curve.

  • Troubleshooting connection problems can be difficult.

Notepad++

NotePad++
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. A favorite 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.

What We Like

  • Can be configured to automatically save changes to the Pi.

  • Far more functional than just using the Pi terminal.

  • Very simple to use after initial setup.

What We Don't Like

  • Requires an extra plugin to work directly with Raspberry Pi.

  • May require enabling DHCP on your home network router if not already enabled.

  • SSH connection requires you to install Putty (see above).

  • Initial setup may require advanced knowledge.

FileZilla

FileZilla
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. One good 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.

What We Like

  • Offers a simple "file explorer" feel that's easy to use.

  • File transfers are simple point-and-click.

  • Easy connections after initial setup.

  • Offers the flexibility of using any text editor.

What We Don't Like

  • SSH requires the installation of Putty (see above).

  • Initial setup could require advanced knowledge.

  • FileZilla has a steeper initial learning curve than other options.

Win32DiskImager

Win32DiskImager
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. 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.

What We Like

  • Free software.

  • Easy to use.

  • Includes an informative Readme file.

What We Don't Like

  • Limited functionality for advanced users.

SD Formatter

SDFormatter
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, you may prefer to use the SD Foundation's official 'SD Formatter' tool for wiping your cards clean, as this application experiences fewer problems dealing with different card types and formats, and includes a few more options than Microsoft's offering.

What We Like

  • Very simple to use.

  • Doesn't format protected areas on the SD card.

  • Works on SD, SDHC, and SDXC cards.

  • Free to download and install.

What We Don't Like

  • Not available for Linux.

  • Not capable of formatting protected areas.

  • Requires a manual refresh if card is attached after the app launches.

H2testw

H2TestW
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 it's a good idea to check to see if you're getting the advertised speeds before you use one.

This may seem slightly excessive, but considering Pi projects such as media centers 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!

What We Like

  • Simple to use.

  • Allows for testing genuine media without any data loss.

  • Very portable utility (no installation required).

  • Testing is thorough.

What We Don't Like

  • May cause data loss for nongenuine media.

  • Runs slower than other, similar tools.

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 listed here 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.

What We Like

  • Simple, lightweight utility.

  • Results available in multiple file formats.

  • Available for all major platforms.

  • Free to download and use.

What We Don't Like

  • Less thorough than other, similar options.

  • Fewer options available than more advanced utilities.