Raspberry Pi (B+, Zero, RPi2, RPi3 & RPi4) - Installation instructions for Raspbian, Dump1090 & Data Feeder

ab cd

Senior Member
Last Update: December 05, 2021

What you need is 3 components as follows:
STEP-1: An operating system like "Raspberry Pi OS".
STEP-2: A decoder software "dump1090"
STEP-3: Planefinder's data feeding software pfclient.

STEP 1- INSTALL OPERATING SYSTEM

1.1
- Download Raspberry Pi OS Lite image (zip) on your Desktop/Laptop
Download page:
https://www.raspberrypi.org/software/operating-systems/

1.2 - Download and Install Win32DiskImager (Windows) OR Etcher (Win & Mac).
Only one of these two software is enough. No need to download and install both.
Download Pages:
Win32DiskImager: https://sourceforge.net/projects/win32diskimager/
Etcher: https://etcher.io/

1.3 - Insert microSD Card in your Desktop/Laptop’s card slot (or use a card reader plugged into USB Port).

1.4 - Unzip downloaded Raspbian file to get .img file.

1.5 - Write the unzipped Raspbian image to microSD Card using Win32DiskImager or Etcher.

1.6 - Enable SSH

Open File Explorer (Windows) or Finder (Mac), and open the microSD card.
NOTE:
If you have used Etcher, it will automatically eject the microSD card after writing the image.
Physically remove the microSD card or USB adapter and plug it back into the computer before you carry-out steps below.

The microSD card will appear with name "boot" as shown in screenshot below.
Raspbian - microSD in Windows - 1.png

Open the drive named "boot". This will open the /boot folder of Raspbian. In this folder create a new text file, as shown in screenshot below
Raspbian - microSD in Windows - 3.png

Change the name of file from New Text Document to SSH

1.7 - Enable WiFi
If you want your Pi to connect to local network/internet using a WIRED connection to router, skip this step.

To use WiFi to connect Pi to local network/internet, the WiFi configuration should be done after image is written, and while the microSD Card is still in the Laptop/Desktop. For details please see following post:

How To Enable WiFi

Use only one connection at a time, either wired or WiFi.
It is not recommended to use both simultaneously


1.8 - First Boot of RPI[/INDENT]
Eject & remove microSD card from card reader, insert into RPi, power up the RPi.


1.9 - Access and control of RPi from Desktop/Laptop using SSH
You can access Pi and issue commands by connecting a Monitor and Keyboard to your RPi.
However use of SSH enables you to issue commands from your Desktop/Laptop and eliminates the need to connect a Monitor and Keyboard to your RPi.


For Remote access and SSH, please see following post:

How To Access and Control RPi from Desktop/Laptop using SSH


STEP 2 - INSTALL DECODER DUMP1090P-MUTABILITY

2.1
- Installation:
For Raspbian Stretch
Code:
sudo bash -c "$(wget -O - https://raw.githubusercontent.com/abcd567a/dump1090/master/install_dump1090_mut_1.15.sh)"


For Raspbian Buster and Bullseye
Code:
sudo apt update
sudo apt install dump1090-mutability

sudo usermod -a -G plugdev dump1090
sudo systemctl restart dump1090-mutability


2.2 - Configuration:
Code:
sudo dpkg-reconfigure dump1090-mutability

During configuration accept all default values by pressing Enter key, except when asked for:
(a) Latitude & Longitude, enter you location's latitude & longitude in decimal degrees like xx.xxxx

(b)"Interface address to bind to (blank for all interfaces) " , remove 127.0.0.1 and leave entry blank. This is a workaround to overcome a bug.

(c) "Extra arguments to pass to dump1090", leave it blank.


The Web interface (gmap) will be displayed at http: //<ip address of RPi>/dump1090/

2.3
- Start, Stop, Status
Code:
# To stop
sudo systemctl stop dump1090-mutability

# To restart
sudo systemctl restart dump1090-mutability

# to check status
sudo systemctl status dump1090-mutability

2.4 - Changing Settings
You can anytime modify the settings by two methods:

Code:
sudo dpkg-reconfigure dump1090-mutability

(b) Advance: By editing config file:
Code:
sudo nano  /etc/default/dump1090-mutability

#scroll down and edit config value.
#after editing, save (ctrl+o) and close file (ctrl+x)
#for changes to take effect, reboot after you finish making changes

sudo reboot



STEP 3- Installation of Planefinder's Data feeder :

To install Plane Finder Client, enter these commands in console:

Code:
wget  http://client.planefinder.net/pfclient_5.0.161_armhf.deb
sudo dpkg -i pfclient_5.0.161_armhf.deb
The above version is current as on March 01, 2021
For latest version check this page: https://planefinder.net/sharing/client

CONFIGURE
After installation is complete as above, type http: //<ip address of RPi on your network>:30053/setup.html in your browser, and follow instructions on the page opened. The <ip address of RPi on your network> will be something like 192.168.2.12 and can be found from your router setup.

Choose option to request sharecode, if you don't already have one. Planefinder will send it to you by email. After you receive sharecode, you can enter it on above page and complete your configuration.

During configuration,enter:
Sharecode
Receiver Lat: Your Latitude in decimal format
Receiver Lon: Your Longitude in decimal format
Click "Assign Share Code"
PFClient Config 2.PNG.png

This will open a new page. On this page enter:
Receiver Data Format: Beast
How are you connecting to your receiver: Network
IP Address: 127.0.0.1
Port Number: 30005
Click "Complete configuration"
PFClient Config 3.PNG.png


PF Client web interfaces:
After SETUP is complete and pfclient is up & running, you can see following in your computer's browser.
http:// <ip-address-of-RPi>:30053/map.html (shows planes on Google Map)
http:// <ip-address-of-RPi>:30053/stats.html (shows stats of your receiver)
http:// <ip-address-of-RPi>:30053/logs.html (shows logs of your receiver)

(<ip-address-of-RPi> will be something like 192.168.2.15 . Obtain exact value from your router settings)
PF Client--3.5.png
Planefinder Stats.PNG.png
Planefinder Logs.PNG.png

AND THAT IS ALL....... ENJOY!
 
Last edited:
Last Update: December 04, 2021

(A) How To Enable WiFi Right from First Power up of RPi
This method does not require connecting network wire or Monitor & Keyboard to RPi.
It is done while the microSD Card is still in the Laptop/Desktop's card reader after writing the Raspbian image.


If you want your Pi to connect to local network/internet using a wired connection to router, skip this step.
If you want your Pi to connect to local network/internet using WiFi, enable Wifi as given below.
Use only one connection at a time, either wired or WiFi.
It is not recommended to use both simultaneously


1
- After image is written, and while the microSD Card is still in the Laptop/Desktop, open File Explorer (Windows) or Finder (Mac), and open the microSD card.

NOTE:
If you have used Etcher, it will automatically eject the microSD card after writing the image.
Physically remove the microSD card or USB adapter and plug it back into the computer before you carry-out steps below.


2 - The microSD card will appear with name "boot" as shown in screenshot below.

Raspbian - microSD in Windows - 1.png

3 - Open the drive named "boot". This will open the /boot folder of Raspbian. In this folder create a new text file, as shown in screenshot below

Raspbian - microSD in Windows - 3.png



4 - Open the text file using Notepad (Windows) or TextEdit (Mac)
In the opened text file, copy-paste following text:

Code:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

country=CA

network={
    ssid="YOUR_SSID"
    psk="YOUR_PASSWORD"
}
Replace:
  • CA by two letter code for your country e.g. GB for UK, US for USA, DE for Germany, FR for France, SE for Sweden, CH for Switzerland, NL for Netherland, AU for Australia, NZ for New Zealand, etc etc. (click here for complete list)

  • YOUR_SSID by your router’s wifi ssid

  • YOUR_PASSWORD by your router’s wifi password.
5 - Save file.

6 - Change the name of file from "New Text Document.txt" to "wpa_supplicant.conf"
NOTE: If your Desktop/Laptop does not show file extensions, the newly created file "New Text Document" will NOT show .txt extension at the end, as shown in screenshot below.​
Raspbian - microSD in Windows - 3.png
In the case of hidden extension .txt, even after you change file name to "wpa_supplicant.conf" its full name will be "wpa_supplicant.conf.txt" with ".txt" not visible. If the file has a hidden extension .txt, it will not enable wifi.​
Configure Windows File Explorer to show file extensions as shown in the screenshots below:​
Raspbian - microSD in Windows - 4.png
Now change the name of file "New Text Document.txt" to "wpa_supplicant.conf", as shown in screenshot below:​
Raspbian - microSD in Windows - 5.png
NOTE:
During boot, system moves this file from folder /boot to folder /etc/wpa_supplicant/
If you need to edit your wifi credentials, give following command:
Code:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf



(B) How To Enable WiFi After RPI is Powered up
You will need to use one of the following two methods:
- Connect RPI to router using a network wire and SSH to RPI.
- Connect Keyboard and Monitor to RPI.

1 - Give following command:
Code:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Above command will open file wpa_supplicant.conf for editing.
By default, this file has following code :
Code:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
NOTE: If the file is blank, copy-paste above code in it.


2 - Below the default code lines, add the following code:
Code:
country=CA

network={
    ssid="YOUR_SSID"
    psk="YOUR_PASSWORD"
}
Replace:
  • CA by two letter code for your country e.g. GB for UK, US for USA, DE for Germany, FR for France, SE for Sweden, CH for Switzerland, NL for Netherland, AU for Australia, NZ for New Zealand, etc etc. (click here for complete list)

  • YOUR_SSID by your router’s wifi ssid

  • YOUR_PASSWORD by your router’s wifi password.
5 - Save file (Ctrl+o) and Close it (Ctrl+x).

3 - Give following command to start wifi with new settings
Code:
sudo ip link set wlan0 down
sudo ip link set wlan0 up
 
Last edited:
Hi ab cd, great posts. Thanks from me and future noobs. :):)

This should be made a sticky and non-editable (except for abcd) or else the thread will become "contaminated" by lots of debugging questions.
 
Last edited:
How To Access and Control RPi from Desktop/Laptop using SSH

1 - Find the Local IP address of your RPi.
The IP is similar to 192.168.0.21.

You can find Local IP of your RPi by any one of the following methods:
(a) Login to your router's settings page and find the list of connected devices with their IP addresses.

(b) Use software "Angry IP Scanner" (for Windows & Mac)
https://angryip.org/download/

Angry IP Scanner.png


(c) Use software Advanced IP Scanner (Windows)
http://www.advanced-ip-scanner.com/

Advance IP Scanner.png


2 - Install SSH Software

2.1 - Mac:
No need to install any software. Use Mac's Terminal to SSH to RPi
Launch the Terminal application. Terminal is found in /Applications/Utilities/ directory but you can also launch it from Spotlight by hitting Command+Spacebar and typing “Terminal” and then return
In terminal type following and hit return key.
(Replace 192.168.0.21 by your RPi's actual IP address)
Code:

login as : pi
password : raspberry

2.2 - Windows:
Install PuTTY on your Windows computer to SSH to RPi
Download page: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Screenshots for Post Installation Steps:
PuTTY-3-1.png PuTTY-4-1.png PuTTY-5A.png Putty-6A.png


login as : pi
password : raspberry


3 - How To Copy-Paste Text To / From PuTTY

How to Copy-Paste To or From PuTTY.png
 
Last edited:
HOW TO GET ALTERNATING BLUE/RED CIRCLES IN DUMP1090-MUTABILITY?
Open console and follow these steps:

Code:
cd /usr/share/dump1090-mutability/
dir
#you will see following:
config-template  html
STEP-1: Make backup copies of files config.js and script.js BEFORE start editing these
In case you want to revert or make a mistake in editing, you can use the backups you will create now, as shown in item 1.3


1.1 Create backup of file config.js
Code:
cd /etc/dump1090-mutability/
sudo cp config.js config.js.bak
# Check if backup is created
ls config.*
# Above command should display both original and backup files
# config.js  config.js.bak


1.2 Create backup of file script.js
Code:
cd /usr/share/dump1090-mutability/html/
sudo cp script.js script.js.bak
# Check if backup is created
ls script.*
# Above command should display both original and backup files
script.js  script.js.bak

1.3 In case you make mistake during editing and want to restore original files
Code:
# To restore config.js
cd /etc/dump1090-mutability/
sudo cp config.js.bak config.js

# To restore script.js
cd /usr/share/dump1090-mutability/html/
sudo cp script.js.bak script.js

STEP-2: Now EDIT the file "config.js":
Code:
sudo nano /usr/share/dump1090-mutability/html/config.js

This will open file config.js for editing in terminal.

Press Ctrl+W and type "SiteShow" (without " ") and press Enter Key.
The cursor will jump to line starting with "SiteShow"
Make changes shown in red.

SiteShow = true; // true to show a center marker
SiteLat = xx.xxxx; //your Latitude position of the marker
SiteLon = yy.yyyy; //your Longitude
SiteName = "My Radar Site"; // tooltip of the marker


Press Ctrl+W and type "SiteCircles" (without " ") and press Enter Key.
The cursor will jump to line starting with "SiteCircles"
Make changes shown in red.

SiteCircles = true; // true to show circles (only shown if the center marker is$
// In nautical miles or km (depending settings value 'Metric')
SiteCirclesDistances = new Array(50,100,150,200,250,300);

// Show the clocks at the top of the righthand pane? You can disable the clocks$
ShowClocks = true;

// Controls page title, righthand pane when nothing is selected
PageName = "DUMP1090";



After modifications, save (Ctrl+o) and exit (Ctrl+x)


STEP-3: Now modify file script.js

Code:
sudo nano /usr/share/dump1090-mutability/html/script.js
This will open file script.js for editing.
Now press "Ctrl+w" then type "SiteCircles" (without " ") and press Enter.
The cursor will move to line "if (SiteCircles) {"
Following code will be displayed. Make changes as shown in red:

if (SiteCircles) {
var circleColor = ['#FF0000', '#0000FF'];
for (var i=0; i < SiteCirclesDistances.length; ++i) {
var circleStyle = new ol.style.Style({
fill: null,
stroke: new ol.style.Stroke({
// color: '#000000',
color: circleColor[i%2],
lineDash: [3, 3], //NOTE: add this line only if you want dashed circles
width: 1
})
});

// for (var i=0; i < SiteCirclesDistances.length; ++i) {
var distance = SiteCirclesDistances[ i ] * 1000.0;
if (!Metric) {
distance *= 1.852;
}

var circle = make_geodesic_circle(SitePosition,>
circle.transform('EPSG:4326', 'EPSG:3857');
var feature = new ol.Feature(circle);
feature.setStyle(circleStyle);
StaticFeatures.push(feature);​
}​
}​
}​


After modifications, save (Ctrl+o) and exit (Ctrl+x)

Now run the web interface and you will see colored circles.


Range Rings Dump1090-mutability.PNG.png
 
Last edited:
dump1090-mutability: How to change the clock "Last Update" to show your local time on gmap.html page.

Step-1: Open script.js for Editing
Code:
cd /usr/share/dump1090-mutability/html
sudo nano script.js
This will open in nano, the file script.js for editing.

Step-2: Press Ctrl+w and type the search keyword getUTC, and press Enter.
The cursor will jump to first getUTC in the following code:

if (ReceiverClock) {
var rcv = new Date(now * 1000);
ReceiverClock.render(rcv.getUTCHours(),rcv.getUTCMinutes(),rcv.getUTCSeconds());
}



comment out these 4 lines of code (i.e. type // at the start of each line) . It will look like following:

// if (ReceiverClock) {
// var rcv = new Date(now * 1000);
//ReceiverClock.render(rcv.getUTCHours(),rcv.getUTCMinutes(),rcv.getUTCSeconds());
// }

STEP-3: Press Ctrl+w and type keyword ticking and press Enter.
Cursor will jump to word ticking of following code:

// disable ticking on the receiver clock, we will update it ourselves
ReceiverClock.tick = (function(){})

comment out the 2nd line of code (i.e. type // at the start of the line) . It will look like following:

// disable ticking on the receiver clock, we will update it ourselves
//ReceiverClock.tick = (function(){})

Step-4: Save the file (Ctrl+o) then exit (Ctrl+x).

Step-5: Reboot RPi. After RPi has rebooted, reload page gmap.html


To change the Title of top-right clock from "Last Update" to "Local Time":
Step 1: Open gmap.html to edit.
Code:
cd /usr/share/dump1090-mutability/html
sudo nano gmap.html
This will open in nano, the file gmap.html for editing.

Step-2: Press Ctrl+w and type keyword Last Update, and press Enter.
The cursor will jump to the following line:

<td align="center">Last Update</td>

Change Last Update to Local Time.

The line in gmap.html will become:

<td align="center">Local Time</td>

Now save (Ctrl+o) and exit (Ctrl+x). Reload gmap.html web page.

 
Last edited:
I'd keep Last Update, TBH. This way you can spot problems with the hardware. Sometimes the dongle USB can become unresponsive without creasing dump1090, then the right clock would stop at the last time a packet was received.

Edit
With the changes you mentioned, the clock will still stop if no packages received, but it will show local time vs UTC.
Only presumptions, I did not operate these changes.
 
I'd keep Last Update, TBH. This way you can spot problems with the hardware. Sometimes the dongle USB can become unresponsive without creasing dump1090, then the right clock would stop at the last time a packet was received.

Edit
With the changes you mentioned, the clock will still stop if no packages received, but it will show local time vs UTC.
Only presumptions, I did not operate these changes.
I am operating my changes for over a month, but never noticed any of the problems you have mentioned.
 
Just watch the dial hand showing the seconds, and you can see sometimes stall/jump. IMHO that means that the process hung for a second or two.
 
Just watch the dial hand showing the seconds, and you can see sometimes stall/jump. IMHO that means that the process hung for a second or two.
Edited the procedure in post #8. No more stall & jump of seconds' hand.
With new updated procedure, the Receiver Clock (Local Time) is no more updated along with data update. It runs on its own :D
Thanks for pointing out.
 
Last edited:
Just installed the PFClient, all working fine.

The stats and gmap work fine (nice UI on the live stats!), but what i'm most interested in is the
Google Earth - "range-in-direction" map (/ge.html) which doesnt seem to be available anymore?

(http://<Pi_IP>:30053/ge.html doesnt show anything).

Is this still supported - was hoping to use this to build polar (?) data maps locally, rather than VRS on my PC.

THX
 
Just installed the PFClient, all working fine.

The stats and gmap work fine (nice UI on the live stats!), but what i'm most interested in is the
Google Earth - "range-in-direction" map (/ge.html) which doesnt seem to be available anymore?

(http://<Pi_IP>:30053/ge.html doesnt show anything).

Is this still supported - was hoping to use this to build polar (?) data maps locally, rather than VRS on my PC.

THX
If I recall correctly, @Lee Armstrong: mentioned that google is going to end webpage support for Google Earth shortly. May be by now this is implemented.
A new BETA2 version of PFClient is now available. That also does not have Google Earth interface, only Google Map interface is available. The advantage of new BETA2 is that it does NOT use node js, and as a result has cpu usage dropped from 25% (pfclient+node js) to less than 1% (beta2)! Try it:

http://forum.planefinder.net/threads/plane-finder-client-beta2-3-0-1435.258/
 
Last edited:
What additional steps needs to be to done to make this working on mode-s beast connected with USB to Raspbian/Raspberry Pi using beast-splitter?
 
Hey Guys , my client would not upload the Data . The Log View is Empty . In the map show airplanes :(
can you help me ?
 
Back
Top