PiAware software – Installation on the RPi

INSTALLING FlightAware software:

Here, there is an alternative to feed data to different websites through the Internet with your Raspberry Pi using the dump1090 software (How to install dump1090). The FlightAware website is a Live flight tracking system for all users of the Internet.  in order to get a more detailed overview here is the definition of FlightAware website: PiAware is a FlightAware client program that runs on a Raspberry Pi to securely transmit dump1090 ADS-B and Mode S data to FlightAware. PiAware is for people who are already running their own Raspberry Pi with an ADS-B receiver and dump1090.

Its software, as previously described, is called PiAware and can be easily installed in your Raspberry Pi following the steps below.

Linux version of the software:

I am assuming dump1090 is correctly installed in your Raspberry Pi.

First of all just to get the file downloaded in our system:

wget http://es.flightaware.com/adsb/piaware/files/piaware_1.18-2_armhf.deb(to the folder where you want to save the program)

After the donwload of the file, you only have to install it:

sudo dpkg -i piaware_1.18-2_armhf.deb

Some missing dependencies can be acknowledged. But to solve this just use the next command:

sudo apt-get install -fy

Then enable the automatic software updates:

sudo piaware-config -autoUpdate 1 -manualUpdate 1

Change both numbers of the command above to 0, in case, you want the default options to be set up.

After all this, you already have got the software installed. Now, to manage the configuration and other options it is better to go to the FlightAware website and open an account. In order to do that, click on this link. Here you can see the brakthroughs and drawbacks of opening a premium account. That’s up on all you.

An interesting registered feature, within the normal account (without paying anything, not related with the premium account), is the aviation news and newsletter updates available.

Finally, configure your account by using:

sudo piaware-config -user <username> -password

And at the end, you only need to start the software:

sudo /etc/init.d/piaware restart

It is important to remark that no automatic booting option is available yet for this software when Raspberry Pi boots, but it is remarked on the website that this will be quickly solved.

The PiAware code can be downloaded and checked on Github as well.

Another aspect to take into account of FlightAware is the amazing source of photographies beloved by any aeronautical fan like me.


This post is mainly a recommendation as it is perfectly described how to install the software on their website.

Some interesting screenshots to see how the website looks like:

FlightAware1 FlightAware2

FR24 feeder software – Installation on the RPi

INSTALLING FlightRadar24(FR24) feeder software:

Windows version of the software:

First of all, even if you plan to install the feeding software of FlightRadar24 only in the raspberry pi, you have to install the software of FR24 to your Windows operting system to get your sharing key and began to feed data to their web page.

To get the sharing key and the software feeding data in windows, you have to install first a decoding ADS-B software like RTL1090 or ADSB# to decode the received data and send it to FR24.

I am supposing that you have installed the decoding software.

First of all download the feeding software from this web page:


It will run on windows 7 or 8 versions:

Steps to follow!!!

There are the steps you will come across in the link above. These instructions explains you how to get the software feeding.

Mainly you have to get the RTL1090 sending data to the port 30003 with the USB dongle connected to the laptop, and then start the FR24 software.

I recommend the RTL1090 to use as the decoder software because it its more visual and allows you to see all the information.

The feeder software will not issue a sharing key unless it detects decoded data on TCP port 30003 with positional messages from two or more aircraft. If the RTL1090 window has less than two aircraft with asterisks, please move the antenna to a better location where it can “see” more sky.
By default, RTL1090 outputs TCP data to port 31001 and this must be changed to port 30003 to use our feeder software.
If you are using RTL1090 Build 100 released on 17 MAR 13, you must use a command line parameter to change the port to 30003. The simplest way to implement this is to create a Shortcut to RTL1090.exe and include the “/30003” parameter in the Target.
Make sure you use the correct folder path with a space between “exe” and “/30003”:
rtl1090.exe/30003 = Incorrect
rtl1090.exe /30003 = Correct

If you are using RTL1090 Beta 2 Build 100 released on 29 JUN 13, you can set the port 30003 option in the Config option.

 RTL1090 Beta Config Option

In the Config window check:
“/30003 – Basestation type TCP port”

 RTL1090 Beta Options – Port 30003

Then Save + Close.
With RTL1090 outputting data to port 30003, you can download the feeder software to create a sharing key and start sharing your positional messages to Flightradar24.

If you are recieving aicrafts’ data, after introducing your position information that you can search with google maps or google earth, you will receive your sharing key and begin to send data to their web page.

There are the instructions you will come across in the web page:

1. You will be asked to provide your antenna location in the decimal format (ex. E62°30' => 62.50, S45°15 => -45.09)and your email address. We will verify this data and show you the nearest airport code. Once you accept it, data verification process will be started. Upon successful verification your sharing key will be automaticall saved in the feeding software and mailed to you for backup purposes.

2. You can now hit the "Start" button and share your data with us.

3. Please note that "Autostart" means that the feeding starts automatically when you launch the software (no need to press START), but you will still need to launch the software every time you start Windows.

It is important to know that if you are not receiving data of 2 aircrafts or more, FR24 will not gives you the sharing key.

As a Thank You, those who share data receive a free subscription to Flightradar24 Premium. Premium has an enhanced website with no ad-verts or timeouts plus new features such as bookmarks and additional map settings. Premium also includes free use of all the available Flightradar apps and the highly customisable RadarView.

Linux version of the software:

First of all just to get the file downloaded in our system:

wget https://dl.dropbox.com/u/66906/fr24feed_arm-le_233.tgz (to the folder where you want to save the program)

After the donwload of the file, you have to ungunzip it and extract it:

tar –zxvf fr24feed_arm-le_233

You will obtain the next executable file named fr24feed_arm-le_233:


There are different software versions talking about the linux part and they can be viewed at the next link of the flight radar 24 website: http://forum.flightradar24.com/threads/4270-Linux-feeder-software-for-Flightradar24

You have to choose one version or another depending on the system you are using. In the case of the raspberry pi, you have to choose the ARM version but you have 2 options, the dinamical one or the statical one.

In this screenshot I am working with the dinamical version but there is no a problem to work with anyone of them.

I recommend you to create a account on the FlightRadar24 forum to ask any question you come across during the installation or for the different options of the software. They will answer you really nice and explain all you have to know even if you don’t know anything about linux operting system.

The file that will result from these orders is a precompiled version of the software to get running in a linux system, so as the file is an executable one, you only have to run it by typing:

./fr24feed_arm-le_233 --fr24key=YOUR_SHARING_KEY

where the YOUR_SHARING_KEY field is the key that is supplied to you when running the software in windows by the first time and it recognizes 2 or more flight data received in real-time.

./fr24feed_arm-le_233 --fr24key=YOUR_SHARING_KEY --bs-ip=xxx.xxx.xxx.xxx --bs-port=NNNNN --self-kill=yes

this other option command is to set parameters as the IP adress of the base station to get the data or the port of the base station where the information has to be listen, that is the port where dump1090 or other ADS-B software decoders have to sent the data.

The base station is your SDR receiver that has been located or classified by the FlightRadar24 web like an ADS-B receiver of fixed coordinates by the windows feeder software.

The self-kill option of the command above kills the process of the flightradar24 feeder if there is not any flight reception data during 15 minutes.
But I didn’t need so many command options, to get it running I only need to introduce the following command:

./fr24feed_arm-le_233 --fr24key=YOUR_SHARING_KEY --bs-port=30003

This command will listen to the port 30003 to get the data from, in this case, the dump1090 software.

Run the FR24 feeder automatically when RPi starts:


Simply add to rc.local file, after fi and before exit 0 the next lines:

cd /home/pi/
./fr24feed_arm-le_233 –fr24key=YOUR_SHARING_KEY –bs-port=30003

With the correct directory of location of fr24feed software feeder, that in my case is at the /home/pi/ directory.

To do this simply type the following commands:

sudo nano /etc/rc.local

To open the file with the nano text editor.
Copy the lines above into the file after fi and before exit 0 as described above.

And finally “CTRL+O” to save the file and “CTRL+X” to close the nano editor.
After this change reboot the raspberry pi and the process have to be running without enter the command and continue to run after logging out.


sudo reboot

Then to see the process and check if everything is correct enter:

ps -e

This will show all the processes running in your raspberry pi at this moment.


There is another option to start the service of FR24 but I hadn’t tried it. I mean I don’t know if this option will work or not.

It is important to take into account that this option affects the dump1090 program too. I mean that if you have used the option of my other post talking about the dump1090 to start automatically, you will not need to choose this second option. In such a case I recommend you to implement the first option commented above.

I have extracted this information from the FR24 forum where a friendly user solve me the problem before knowing the first option that I think is easiest to do.

If the user of FR24 that gives me this solution see this post I would like to thank you very much for such a clear explanation. For this reason I have copied his explanation as was in the forum. Here it comes.

I’ve found I don’t need the init.d scripts to start dump1090 / FR24 feed as services. I could just run them from a simple user mode script, then fix cron to start it at boot and restart every 6 hours (does take the radar down for a few seconds).

I just setup a script at /home/pi/fr24.sh with the following content:



#make sure fr24feed and dump1090 software are not running


killall fr24feed_arm-le_233s

killall dump1090


#start dump1090 – we don’t want output so throw it into a black hole (the null device)

#the symbol at the end of the line says don’t wait for this to finish, just move

#onto  the next command (note dump 1090 needs to run the dump1090  folder

#for the built in web page to work)


cd /home/pi/dump1090

/home/pi/dump1090/dump1090 --net --net-sbs-port 30003 --quiet > /dev/null &

cd ~


#start the fr24 feeder(use you own key)


export FR24AUTHIP=

/home/pi/fr24feed_arm-le_233s --fr24key=01234567890abcdef > /dev/null &

Feel free to alter if you’ve been more tidy then me with where the feeder software is.

Then put the following lines into crontab:

@reboot /home/pi/fr24.sh

0 */6 * * * /home/pi/fr24.sh

Please replace the first zero on the ‘0 */6 * * * /home/pi/fr24.sh’ line by a value between 0 and 59 … it represents the minute when the restart should happen, and it might not be good for FR24 if everyone restarts at the same time.

(and that would be exactly the same time to within a few milliseconds since the Raspberry Pi is synced to internet time clocks).

To know something more about what we are doing see http://en.wikipedia.org/wiki//dev/null.

which says…

In Unix-like operating systems, /dev/null or the null device is a special file that discards all data written to it but reports that the write operation succeeded. 
It provides no data to any process that reads from it, yielding EOF immediately.

Then don’t forget to mark the script file as executable or the machine will think it’s just text:

chmod +x fr24.sh

The & at the end of the line in the script says  to run this command in the background.

And that’s all we have to do. Then we only have to reboot the raspberry pi and in theory the processes will be started automatically.

Dump1090 – Installation on the RPi

INSTALLING dump1090:

After getting the raspberry pi configured, this post will explain how to install all the drivers and the repositories to get the dump1090 software running on the raspberry pi and to make that the raspberry pi recognizes the RTL2832 USB dongle. If you haven’t read the previous posts I recommend to have a look at the draft named “Raspberry pi – beginners setup“, this draft explains how to configure the raspberry pi to feed data to some web pages like for example FlightRadar24.com.

sudo apt-get install git-core

This installs the git repository fetch code.  You may already have this installed, in which case you will get a message advising that you already have the most up-to-date version. You also need “git” in order to be able to clone some applications from the git repository. What is “git”? It really overcomes my knowledge but you will need it to get all running. The following step is to introduce these instructions to setup RTL-SDR. To explain what we are doing I will summarize but mainly we are installing the packages that let the raspberry pi use the RTL2832 USB dongle hardware. First of all we must install the packages that we have to use to compile and the dependencies needed for this process:

sudo  apt-get  install  git 

sudo  apt-get  install  cmake

sudo  apt-get  install  libusb-1.0-0-dev

sudo  apt-get  install  build-essential
There are like the drivers that we must install to recognize any device that we may use.
Now we are goint to install the RTL2832U USB dongle driver source and compile it:
git  clone  git://git.osmocom.org/rtl-sdr.git
cd  rtl-sdr
mkdir  build
cd  build
sudo  make  install
sudo  ldconfig

If the installation was correct you should see no return on the previous command. Now you can pluggin the RTL2832 USB dongle on the USB port, preferably on the USB hub. Now we can continue with the installation:

sudo  ldconfig

You should now do these steps to tell the system about what the new device is allowed to do, and then to reboot the system:

cd ~
sudo  cp  ./rtl-sdr/rtl-sdr.rules  /etc/udev/rules.d/
sudo  reboot

After this the only thing we have to do is to check if the system recognizes the device:

rtl_test  -t

When you try this test it will return some commands and say this:


Some further information suggests that the test (-t) command is only intended to find the gap in the E4000 frequency coverage.  The RTL2832 don’t have a frequency gap so because of this reason “Failed to open rtlsdr device”. But there is no a problem, so the raspberry pi has found the device so we can go on with the intallation. You will not need the sudo word in the commands if you are logged in as a super user. Now download the latest release dump1090 application source code. So follow these steps:

cd  /home/pi/


cd  ~  (goes to your home directory)

And then:

git  clone  git://github.com/MalcolmRobb/dump1090.git
cd  dump1090

If all the packages are correctly installed, compiled and connected correctly then you can try to use the dump1090 software by typing one of these commands:

./dump1090 --interactive

then you should see a screen displaying aircrafts being received by your raspberry pi. However you will need to run this with privilege to allow the program to open the port. Note the double “–” if you are typing the command by hand. Other command options are:

./dump1090 --interactive --net --net-beast --net-ro-port 31001

This command will show the same prompt on the screen as before but in this case the extra part of the command should enable a network server. To reduce the ammount of network traffic you can replace “–interactive” by the word “–quiet” in all the possibilities.

./dump1090 --interactive --net --net-beast --net-ro-port 31001 &

This other possibility enables to get the application running after logging out, because the ampersand denotes running in background.

./dump1090 --interactive --net --net-beast --net-ro-port 31001 --net-ro-size 500 --net-ro-rate 5 &

And this final option brings us the program running with a reduced CPU and I/O(Input/Output) load of the raspberry pi.

PLANEPLOTTER talking with the raspberry pi:

These 2 last options bring us the possibilty to share/send the data with our laptop software like planeplotter, because the commands open a port to share the data collected by the dump1090. To get the planeplotter using the data of the rapsberry pi(RPi) dump1090 software you must follow the following steps:

1) Start the Planeplotter software on your laptop or home PC.

2) Select Options – Mode-S Receiver – RTL dongle RPi dump1090 – Setup TCP/IP client.

3) In the window that appears, type in the IP address of your RPi on your local network followed by “:31001″ which is the port where the data is shared by dump1090 – then click OK.

4) Select Options – I/O settings.

5) In the dialog that appears check the Input data – Mode-S/ADS-B box – then select “RTL > RPi+Dump1090″ from the list window to the right.

6) Press the green circle on the toolbar to start Planeplotter monitoring the aicrafts. Now if you pay attention to the map, the planes on the dump1090 and of the Planeplotter must be the same.

Running the dump1090 software automatically:

Basically, we will run the program as a daemon, which is broadly equivalent to a service, in Windows parlance. What that means is that a program can run without a user having to be logged in to start and stop it. So what we’ll do is create a little script which is run when the RPi boots and which in turn will start our dump1090 program. First of all create the script with the following command:

 sudo nano /etc/init.d/dump1090.sh

This command will open the nano text editor and create an empty file named dump1090.sh in the specified path. Now you only have to paste into the file all the content:

# Provides:		dump1090
# Required-Start:	$remote_fs
# Required-Stop:	$remote_fs
# Default-Start:	2 3 4 5
# Default-Stop:		0 1 6
# Short-Description:	dump1090 initscript

## Fill in name of program here.
PROG_ARGS="--interactive --net --net-beast --net-ro-port 31001"
#PROG_ARGS="--interactive --net --net-ro-port 31001"

start() {
      if [ -e $PIDFILE ]; then
          ## Program is running, exit with error.
          echo "Error! $PROG is currently running!" 1>&2
          exit 1
          ## Change from /dev/null to something like /var/log/$PROG if you want to save output.
          cd $PROG_PATH
          ./$PROG $PROG_ARGS 2>&1 >/dev/null &
          echo "$PROG started"
          touch $PIDFILE

stop() {
      if [ -e $PIDFILE ]; then
          ## Program is running, so stop it
         echo "$PROG is running"
         killall $PROG
         rm -f $PIDFILE
         echo "$PROG stopped"
          ## Program is not running, exit with error.
          echo "Error! $PROG not started!" 1>&2
          exit 1

## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
      echo "This script must be run as root" 1>&2
      exit 1

case "$1" in
          exit 0
          exit 0
          exit 0
          echo "Usage: $0 {start|stop|reload}" 1>&2
          exit 1

After copy in the content you can save the file by “CTRL+O” and closing the nano text editor by “CTRL+X“. Then we only have to make the file executable (executable files have a green colour when prompted with the “ls” command) by the command:

 sudo chmod +x /etc/init.d/dump1090.sh

Now we only have to create the runlevel shortcuts with the command:

sudo update-rc.d dump1090.sh defaults

And that’s all we have to do, if we reboot the raspberry pi, it will run the dump1090 software automatically. If we want to stop or start the program after rebooting the raspberry pi, we can do this by the next commands:

 sudo etc/init.d/dump1090.sh stop

To stop the program when running in the background.

 sudo etc/init.d/dump1090.sh start

To start the program when is stopped.

The program can be stopped by killing it with the command:

kill -9 "process number"

The number of the process can be known by typing the command:

 ps -e

This command will show all the active processes on the background.

Finally if you want to remove the dump1090 as a service, you have to introduce this last command:

sudo update-rc.d -f dump1090.sh remove

All the information is extracted from the next web page and is a really nice tutorial to get started with dump1090, if you have some problem you could look for some solution here: http://www.satsignal.eu/raspberry-pi/dump1090.html

Dump1090 options:

The dump1090 software when running on the Raspberry Pi produces a nice plot on a Web browser running on your local network (PC, Linux or Mac).  You might also like to use this as a check that the dump1090 program is still running as expected, and that the TCP/IP link is still up on your Raspberry Pi.

To see the plot on the browser you just have to enter the local IP adress of the raspberry pi followed by “:8080″ and this will bring you to a web page that uses the google maps to plot the aicrafts and shows a table with all the data of every flight.

dump1090 - web server plotting option

dump1090 – web server plotting option

For example, I have entered in my browser: because the IP adress of my raspberry pi is You have to do the same but with your own IP adress.

To get all the command options to run the dump1090 software you can type:

 cd dump1090

enters to the folder where the executable file is.

 ./dump1090 --help

shows all the options for the dump1090 program.

Or you can just enter:

 dump1090/dump1090 --help

which is the same.

Finally I want to recommend another interesting web page where some more things are explained: http://sonicgoose.com/mode-s-and-ads-b-on-a-raspberry-pi/

Raspberry pi – Beginners setup

Setting up the raspberry pi:

Make sure the SD card is inserted and the Pi is connected to a HDMI screen and be sure you have the ethernet cable connected to the device.

Now connect the micro-USB power supply.

If you try to work with a NON-powered USB hub connect only the keyboard. If you need to use the mouse too, try to connect it to the USB hub and let free one USB port to make sure you have space for another device like a USB wifi link.

When the raspberry pi has start and asks you for the username and the password, if the keyboard writes characters without pushing any button, disconnect the keyboard and plug in to another USB port of the hub.This in theory will solve the problem.

CAUTION: If you connect any item to a USB port during the start up the raspberry pi will reboot.

This is caused because of the raspberry pi has a 5V power supply and each of the devices like keyboards and mouses you will connect needs a 5V supply for each one.

Another solution is to buy a USB powered hub like the one on the next link that is made for the raspberry pi specifically:


And there is the commertial video: http://www.youtube.com/watch?v=s6ORM4xW6E0

The default username and password are:

Username: pi
Password: raspberry

When you hit the command prompt enter the following to launch the desktop:


Changing the password of the raspberry pi:

You just have to type:


And the prompt will ask for the old password first and then to enter the new password you want and to repeat it for checking if you write it correctly:

pi@raspberrypi ~$ passwd
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Adding a new user to the raspberry pi:

To add a newuser to the raspbian system:

sudo adduser username

the output is the next one:

pi@raspberrypi ~ $ sudo adduser username
Adding user `username’ …
Adding new group `username’ (1003) …
Adding new user `username’ (1002) with group `username’ …
Creating home directory `/home/username’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for username
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y

The system will create a new user with the name: “username” and then will create a home directory and all the things necessary for any user.
The user information can be entered as the default, so you only have to press the Enter button and hit “y” to the final prompt and the user will be created.

Then if you want to check that the user was created and to know how many users are in your system type:

cd /home/

These commands will bring you to the home directory where all the users are placed, for example in my case there is the output:

pi@raspberrypi / $ ls
bin dev home lost+found mnt proc run selinux sys usr
boot etc lib media opt root sbin srv tmp var
pi@raspberrypi / $ cd home
pi@raspberrypi /home $ ls
pi user username

And finally to change the password for root user, to enter with a password:

sudo passwd root

pi@raspberrypi /home $ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Updating the Debian Raspbian “wheezy” Linux Distribution:

Before you begin to install any software the first you have to do is to update the image version and all the packages of the distribution. Make sure you have an internet connection and run the following command. It may take a few minutes.

sudo apt-get update

Followed by:

sudo apt-get upgrade

This command may take 1 – 2 hours, so you can go to take a “relaxing cup of cafè con leche”. To don’t get bored I recommend this surprising video:


Again make sure you have an internet connection and run:

sudo apt-get dist-upgrade

You can run these commands every now and again to make sure you have the latest software. If you’re asked to confirm anything, just hit ‘y’ on the keyboard.

The Raspberry Pi Config Tool:

The Raspberry Pi Configuration Tool is a very useful tool pre-packaged with the Raspbian “wheezy” distribution. You’ll probably see it during installation; but you can launch it manually for the terminal with the following command:

sudo raspi-config


I recommend you to run the following commands as soon as possible:

  • expand_rootfs: This will expand the file system to the full size of your SD card; allowing you to use the full capacity for programs, etc.
  • change_pass: Change the default password!
  • change_locale: Change your location. This will be used by some 3rd party installer to install the correct config for your setup.
  • change_timezone: Change the timezone so, well, so you have the right time.
  • configure_keyboard: To set the keyboard as the button distribution of your country. By default there is the english keyboard but it can be changed with this tool.
  • ssh: To enable remote access and enter the raspberry pi without using a screen, the keyboard, the mouse, etc.

After performing all this steps you only have to download “putty”, a SSH or telnet client, on Windows to enter in remote access with your computer to the raspberry pi.

There is the link to download putty: http://www.putty.org/ or


In a linux distribution you don’t need putty, just enter the following command to the terminal:

ssh -X <ip address of Rpi> -l <username on Rpi>

Then enter the password of your raspberry pi and that’s all you have to do.

Locale settings:

By configuring the locale settings, you can change the language and country settings for much of the software available for the RPi. The default RPi locale is English/Great Britain (“en_GB”).

You can change this with the enxt command:

   sudo dpkg-reconfigure locales

You will get a very long list of possible locales. You can enable/disable a locale by pressing the spacebar (not Enter), and scroll through the list using the arrow keys.

Selecting “All locales” will generate all possible locales, taking a very long time and using a great deal of space. Select only those you wish to use.

If you’re unsure of which locale to pick, look up a two-letter language code and a two-letter country code on Wikipedia, and see if you can find a matching locale.

When you’re done chosing locale, press Enter.

Keyboard layout:

If different letters appear on-screen from that which you typed, you need to reconfigure you keyboard settings. In Debian, from a command line type:

sudo dpkg-reconfigure keyboard-configuration

Follow the prompts.

Or: From the command line type:

sudo nano /etc/default/keyboard

Then find where it says


and change the gb to the two-letter code for your country.

You may need to reboot the raspberry pi to update the changes.

If you wish more additional information about the raspberry pi configuration and about the characteristics of the raspberry pi check out this link: http://elinux.org/R-Pi_Troubleshooting#Re-mapping_the_keyboard_with_Debian_Squeeze

This is a really nice web page to get started on the raspberry pi.

More interesting links are: http://elinux.org/RPi_Beginners


http://fos.cmb.ac.lk/esl/raspberry-pi-initialising-setup/ (a very complete web page to get started with the rapsberry pi, view this page if something in this tutorial is not enough clear).

Installing VNC on the Raspberry Pi for Remote Access:

You may find it a bit cumbersome having a keyboard and mouse connected to the Raspberry Pi. What’s the point in having a computer smaller than your TV remote if you need to connect a massive Keyboard? And probably isn’t a confortable way to manage your raspberry pi.

Installing VNC will allow for remote access via a laptop, home PC or any other computer; while the Pi remains hidden away behind the TV or next to the router.
Giving the Pi a Static IP Address:
To know where the Pi is, let’s give it a static IP address. If you aren’t sure what your local network range is, open a command prompt from a Windows PC.

Start > Run and enter:


Now type:


You should see something like:

IPv4 Address. . . . . . . . . . . :
Subnet Mask . . . . . . . . . . . :
Default Gateway . . . . . . . . . :

We give the Pi the same details excluding the last 3 digits of the IPv4 Address. Let’s make it easy to remember:

Type the next command to know which is the IP adress of the raspberry pi:


Back in the Raspberry Pi go to the command prompt again, don’t start the desktop.


sudo nano /etc/network/interfaces

This will show the network interface configuration file in the nano text editor. I recommend the nano text editor to modify any file and to treat them because is a really powerful text editor.

The word “sudo” simply runs this command with super user privileges. If you have entered the raspberry pi like a super user, you can enter the command without this word.

You can save yourself a lot of time at the Linux command prompt by using “Tab” to auto complete. This “treak” completes the rest of a command that you have used other times, it seems like is only an additional tool but it saves a lot of time when you manage large commands and you don’t remember exactly the way to type them.

Another useful “treak” is to type “CTRL + R” to open a search prompt where you can type a part of a command and the prompt shows all the previous commands that you have entered with and specific word or words.

Going back to the file we have just opened. You should see:

iface lo inet loopback
iface eth0 inet dhcp

Change this to (your IP details maybe different depending what you got from ifconfig):

iface lo inet loopback
iface eth0 inet static

Use Ctrl X to exit. Hit “yes” when prompted to save.

Then you have to setup the DNS servers which are in a different file:

sudo nano /etc/resolv.conf

Change the DNS servers by the ones you have.

Use “Ctrl X” again to exit. Hit “yes” when prompted to save.

Now restart the network interface to apply changes without a reboot:

sudo /etc/init.d/networking stop

Followed by:

sudo /etc/init.d/networking start

Now your Raspberry Pi will always have the same IP address. Try pinging it from the Windows command Prompt:


Installing VNC on the Pi:

We’re going to use Tight VNC here (server on the Raspberry Pi and Viewer on Windows).

If you have UBUNTU or some other distribution of linux in your laptop or home computer, you will have to install Tight VNC but the Viewer part on the Linux.

There’s an excellent tutorial over at Penguin Tutor if you need more information.

First of all install the Tight VNC Server from the command prompt:

sudo apt-get install tightvncserver

Let it finish installing (if you’re asked to confirm anything, just hit ‘y’ on the keyboard). When complete start the server:


You’ll be asked to create a password, enter one and confirm. I used “raspberr” for ease of use because the password will be truncated to 8 characters.

There is no need to create a view only password, unless you have a specific need.

When the server starts it will tell you which virtual desktop has been setup. Every time you start VNC you’ll see something like:

New 'X' desktop is raspberrypi:1

Note the :1. This is the desktop session created. You can add more by running VNC again.

These says that it’s virtual desktop 1. You would connect to this using :1 at the end of the IP address in the client.

You can run multiple instances. Each time you start tightvncserver it will use the next available desktop, but in most cases you will just need one.

There are other tutorials that use TightVNC as a client for the Windows computer but in my case I have used an additional application of the google chrome browser that does the same with only the download of another option that is implented in the browser.

The next link explains how to use it and download it: https://chrome.google.com/webstore/detail/vnc-viewer-for-google-chr/iabmpiboiopbgfabjmgeedhcmjenhbla/related

VNC viewer application of google chrome browser

VNC viewer application of google chrome browser

I you don’t have google chrome installed you can download it here:


The advantatge of this VNC viewer is that it works in Windows, in linux and in Mac OS distrbutions.

When you have the application installed, the only thing you have to do is to login with the IP adress of your raspberry pi and enter the password you have chosen with the TightVNCserver installation in the raspberry pi.

VNC viewer initial page

VNC viewer initial page

After this initial page it will ask you for the password.

If you prefer TightVNC for the viewer (talking about Windows), this is the link to download it but I find easier the previous one: http://www.tightvnc.com/

But in linux distributions you don’t have to download it, instead of this, you can follow the next steps.

On a Linux computer you can install the viewer with:

sudo apt-get install xtightvncviewer

or if that is not in the repositories try:

sudo apt-get install ssvnc

This will work with Debian / Ubuntu based distributions only, for other distributions use the synaptic package manager.

To login use the next command:


(replace with your own IP address as appropriate)

This is what you will see if everything runs in a correct way:

TightVNC viewer - Raspberry pi desktop

TightVNC viewer – Raspberry pi desktop

The link above of the penguin tutor shows how to start Xtightvncserver in the raspberry pi at start up but we haven’t had any need to do it. There are all the steps at the link if you prefer doing it.

TP-LINK configuration to enable wifi internet connection instead of ethernet:

The driver for the TP-Link TL-WN725N Nano USB Adapter doesn’t come with the Raspbian distribution by default, so it doesn’t work at the moment that we connect it to the raspberry pi USB Port.

Raspberry Pi Logo

There are 2 options to get it working:

1) Compiling the driver by yourself:

It may take a long time…

git clone https://github.com/liwei/rpi-rtl8188eu.git
git clone --depth 1 git://github.com/raspberrypi/linux.git rpi-linux
git clone --depth 1 git://github.com/raspberrypi/firmware.git rpi-firmware
cd rpi-linux
make mrproper
zcat /proc/config.gz > .config
make modules_prepare
cp ../rpi-firmware/extra/Module.symvers .
cd ../rpi-rtl8188eu
CONFIG_RTL8188EU=m make -C ../rpi-linux M=`pwd`
sudo rmmod 8188eu
sudo install -p -m 644 8188eu.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
sudo depmod -a
sudo modprobe 8188eu

2) Download a precompiled version of the driver:

You can download a compiled version and get the driver installed without spending such a long time as the first option:

wget https://dl.dropboxusercontent.com/u/80256631/8188eu-20130209.tar.gz
tar -zxvf 8188eu-20130209.tar.gz
sudo install -p -m 644 8188eu.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
sudo depmod -a
sudo modprobe 8188eu

There is another version here, to get sure that the version in dropbox doesn’t disappear: http://file.zhujunsan.net/8188eu.ko

Once we have finished one of the two options, you have to use the Wifi Config (wpa_gui) application to configure the wifi net. This application is in the desktop of the raspberry pi so you have to use the VNC viewer or access the raspberry pi with the screen, the keyboard and the mouse.

This application configures automatically the file /etc/wpa_supplicant/wpa_supplicant.conf. There is the content of this file once we have run the application to configure the wifi:

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


obviously this configuration will change of my configuration. “ssid” represents the name of the net and “psk” the password of the net.

And finally I had to configure the DNS servers to solve internet names. It can be done editing the file /etc/resolv.conf. You only have to add your DNS servers (normally the supplier gives you this information) or you can use and (DNS servers of Google):


Commands to control the raspberry pi:

Shutdown your Pi in 1 minute:

sudo shutdown -h 1

Shutdown your Pi now:

sudo shutdown -h now

Reboot your pi in 1 minute:

sudo shutdown -r 1

Reboot your pi now:

sudo shutdown -r now

sudo reboot

Get manual for any command:

man [command]

For example:

man shutdown