summaryrefslogtreecommitdiffstats
path: root/02.-Direction-Finding-Quickstart-Guide.md
blob: 26f1535b9f381197e897ccf642e92a7e0b50c725 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
This QuickStart guide aims to have you connected to the Android Direction Finding App as quickly as possible with the KrakenSDR running on a Raspberry Pi 4. However, please make sure you read the rest of the manual to understand how radio direction finding works.

## What you will need
This guide assumes that you have the following equipment

* KrakenSDR
* Raspberry Pi 4
* Antenna array (five identical whip antennas with five identical coax cables)
* USA-A to USB-C data cable for Pi 4 to KrakenSDR data connection
* USB-C power supplies for Pi 4 and KrakenSDR

It assumes that you will be mounting your antenna array on a vehicle for direction finding.

The following graphic is an overview of the entire system.

![krakensdr-car-diagram-upgraded-with-gui](https://user-images.githubusercontent.com/78108016/170219365-bf74e2c7-125d-4738-8eef-8ccb79d23fb4.png)

# Setup Antenna Array
We recommend only using a Uniform Circular Antenna (UCA) array unless you are more experienced.

**Quick Antenna Setup Check:** Antenna hardware must be identical. Antenna cables must be of identical lengths and construction.

## Print Array Spacer

You may wish to use our antenna spacing template which will help with accurate antenna placement. The more accurate your array, the better your results will be.

Files for 3D printing and paper printing can be found in this repo at https://github.com/krakenrf/krakensdr_docs/tree/main/antenna_array

For both templates print the center pentagon and five arms separately, then glue them together.

**Each hole is spaced at 50mm radius intervals.** So you have radius spacings of 100mm, 150mm, 200mm, and 250mm. These spacings cover the following frequency range:

* 100mm : 510 - 1275 MHz 
* 150mm : 340 - 850 MHz
* 200mm : 255 - 637 MHz
* 250mm : 204 - 510 MHz

## Mount the antennas
The image below explains how the antennas should be mounted. Make sure the array is as straight as possible. ANT-0 must connect to CH-0 on the KrakenSDR. ANT-1 must connect to CH-1 and so on.

<p align="center">
<img src="https://user-images.githubusercontent.com/78108016/170187074-087d166e-ea8e-40b7-b53f-591730c72df5.png" width="1000" align="center"/>
</p>

# Burn SD Card Image

The next step is to burn the KrakenSDR Direction Finding (DF) image to an SD Card. You will need an 8GB or larger card, and we recommend using class 10 or faster to ensure no file system slowdowns.

1. Using a PC, download the “Etcher” software from [balena.io/etcher](https://www.balena.io/etcher/). 
2. Download the latest KrakenSDR image zip file from the [Releases page](https://github.com/krakenrf/krakensdr_doa/releases) in this repository, or via the links in the repository README.
3. Use [Balena Etcher](https://www.balena.io/etcher/) to burn the image onto the SD Card. Using Etcher you can burn directly from the ZIP file. (There was a report that Etcher does not properly work on MacOS, MacOS users can try [Raspberry Pi's Imager](https://www.raspberrypi.com/software) instead)
4. Insert the card into your Raspberry Pi 4.

Note that USB-boot cannot be used. The reason is that the USB drive interferes with the KrakenSDR USB connection and can cause a loss of samples, which results in a loss of sample coherence.

# Connect to Mobile Hotspot

The next steps show how to run the software and get connected to the Android app.

1. Create a WiFi hotspot on your Android device with username and password credentials KrakenAndroid/KrakenAndroid.

<p align="center">
<img src="https://user-images.githubusercontent.com/78108016/170163359-40238542-13db-4ac5-99bc-17de75235591.jpg" width="300">
</p>

2. Plug the KrakenSDR power port into a 5V/2.4A+ capable supply and plug the data port into the Raspberry Pi 4.
3. Boot up the Raspberry Pi 4 with the KrakenSDR Direction Finding SD card image installed. Keep your phone within WiFi range of the Pi 4. Once booted, if the KrakenSDR hotspot is detected by the Pi 4, it will automatically connect to the hotspot. You should be able to see the device with hostname 'krakensdr' show up under 'Connected devices' once connected.
4. Using the 'Details' button in Mobile Hotspot (or the equivalent for your particular phone), determine the IP address of the connected Raspberry Pi 4. Google Pixel phones: It has come to our attention that Pixel phones do not have any ability to show IP addresses built in to the OS. You can try an app like [Network Analyzer](https://play.google.com/store/apps/details?id=net.techet.netanalyzerlite.an).

<p align="center">
<img src="https://user-images.githubusercontent.com/78108016/170163391-598f00cd-4536-4a42-a694-5eb5ed0a160f.jpg" width="300">
</p>

### Start and Control the KrakenSDR

1. Open a browser and connect to IP_ADDR:8080, replacing IP_ADDR with the IP Address of the Pi 4 server. You should see the Web GUI load. If it doesn't load, wait another 1-2 minutes in case the Pi 4 system is still booting.
2. The KrakenSDR will automatically have started processing. Ensure that the Connection Status, Sample Delay Sync and IQ Sync indicators are all green, or all turn green after a few seconds if you opened the page during calibration, and that the Frame Index is increasing.
3. Set the desired center frequency, gain, antenna array radius configuration, and other settings like VFO bandwidth and squelch for the specific signal of interest. Make sure to apply the update by clicking on “Update Receiver Parameters” after changing the centre frequency or gain settings.
4. Check the Spectrum screen to ensure that your signal is being received as expected.

![image](https://user-images.githubusercontent.com/78108016/170864249-d590de51-671f-41ea-a2b2-eb14c5df81d3.png)

## Alternative: Connect to Offline Pi 4 Hotspot

Alternatively, if you do not want to create a mobile WiFi hotspot with your phone (no data plan, no mobile reception etc) you can use the hotspot created by the Pi 4. But there will be no internet connection:

1. Plug in your KrakenSDR power port to a 5V 2.4A capable supply and plug the data port into the Raspberry Pi 4.
2. Boot up the Raspberry Pi 4 with the KrakenSDR Direction Finding SD card image. The Pi 4 will create its own WiFi hotspot if it does not find any external hotspot it can connect to.
3. Open the KrakenSDR Android app, and use the download offline maps feature to download the maps for the region that you will be working in.
4. Connect to the KrakenSDR Wi-Fi hotspot on your Android device, with credentials krakensdr/krakensdr.
5. The IP address of the Hotspot is fixed at 192.168.50.5
6. Enter the 192.168.50.5 in the KrakenSDR Android App settings.
7. You can now continue from "Start and Control the KrakenSDR" in the previous section.

# Use the Android App

<img src="https://user-images.githubusercontent.com/78108016/170032817-2db99bae-3787-41f8-af12-2749614951f8.png" width="200" align="right"/>
<img src="https://user-images.githubusercontent.com/78108016/170030726-35ee2dba-1530-4797-a2b3-38b2b4735b15.png" width="300" align="right" />

1. Open the KrakenSDR Android app and enter the IP Address of the Pi 4 server in the settings.
2. Create a log file by pressing on the save button.
3. Press the Start DOA button to begin logging data and generating the heatmap. The start DOA button looks like a diagonal arrow and is in the bottom right of the screen. 
4. Drive around to collect bearing data from multiple locations in order to triangulate the source.
5. You can use the built-in navigation feature in the Android App, or by having your navigator direct you so that you move in the direction of the plotted bearing.

Note: If you are testing the app while stationary, the apps default is to pause data collection while no movement is detected. Hence if you are not actually driving, you may see the app not receiving data.

This is to prevent bogus headings from being generated as GPS requires movement in order to calculate an accurate heading. If you are just testing, you can temporarily turn this off in the settings, under the "Logging Options", "Pause Data Collection When Stationary" setting.

Note 2: We recommend NOT enabling 'Plot Log File' during a drive as this could cause app sluggishness and a cluttered view of the map space. This feature is intended for post drive analysis.