Milestone: mobile TETRA-uplink direction-finding is working end-to-end and being field-tested across the city (2026-08-26). This note captures only the deltas that made it work — the full rig config lives in 2026-08-12-krakensdr-doa-rig and the fault runbook in krakensdr-df.
For Agents
Two facts here correct earlier assumptions: (1) the Kraken Pro app HAS an iOS version and uses the phone’s own GPS, so the whole USB-tether + gpsd + GPS-puck plan is UNNECESSARY for the DF map. (2) The Pi 5 + DAQ browns out on 5V/3A (incl. generic PD-30W) — it needs 5V/5A; earlier “OOM crashes” were largely power brownouts.
What made it work end-to-end
1. Kraken Pro app on iOS (LOCAL mode) — the recommended field workflow
- The official KrakenSDR “Kraken Pro” app has an iOS build (earlier notes assumed Android-only — that was wrong).
- Recommended workflow — no tether, no gpsd, no GPS puck:
- iPhone joins the Pi’s AP: SSID
hunter-ap/ passhuntme123, Pi at 10.42.0.1. - In the app, set server IP =
10.42.0.1, mode = LOCAL. - The app uses the iPhone’s own GPS for the map.
- iPhone joins the Pi’s AP: SSID
- Config was already correct for this path:
doa_data_format = "Kraken App",krakenpro_key = 0ae4ca6b3. Verified connected.
The whole GPS-puck / USB-tether / gpsd effort is NOT needed for the DF map
Because the Kraken Pro app supplies GPS from the phone itself, Apple’s NMEA lockdown is irrelevant to the DF workflow.
gpsd/ USB-tether / u-blox puck are only needed if you separately want the Pi itself online in the field (optional, unrelated to the map).
Diagnostic before blaming the app
From iPhone Safari, load
http://10.42.0.1:8080/doa. If the DoA UI renders, the network path (AP + server) is good — the problem is elsewhere, not the app connection.
2. Power — 5V/5A required, 5V/3A browns out (confirmed root cause of today’s reboots)
The Pi 5 + KrakenSDR DAQ browns out and resets on 5V/3A
A generic PD-30W supply does NOT help — the Pi only takes 5V, so PD-30W still delivers only 5V/3A. Needs a real 5V/5A source. On an official/5A adapter the Pi runs stable (
throttled=0x0under load;usb_max_current_enableauto-flipped to1). The earlier “OOM crashes” were largely these power brownouts, not memory.
- Car power: 12V→5V/5A (or 8A) buck +
usb_max_current_enable=1. - Give the Kraken and the phone their OWN feeds — the Kraken is self-powered via its own USB-C, not off the Pi.
3. Field-DF technique
- ANT-0 must point in the direction of travel — the app references bearings off the GPS heading.
- Signal is bursty / trunked: bearings appear only while a handset is transmitting. Collect many samples; drive across / around the area, not straight at the source.
array_offset = 0→ bearings are still uncalibrated (relative).- Overdrive = ADC clipping — keep gain (currently 19.7 dB) just under the overdrive flag.
Final working config (for the record)
| Setting | Value |
|---|---|
| Center freq | 382.114 MHz (TETRA mobile uplink) |
| RF gain | 19.7 dB |
| VFO bandwidth | 25 kHz |
| Array | UCA, 0.20 m (200 mm spacer hole) |
| Whips | ext-3 |
| Algorithm | MUSIC |
| Decorrelation | Off |
| Optimize short bursts | On |
doa_data_format | ”Kraken App” |
location_source | gpsd (unused by the app path) |
| zram | reboot-safe |
| AP | hunter-ap up on wlan0 |
Related
- 2026-08-12-krakensdr-doa-rig — full rig reference (hardware, from-source install, autostart, array recipe)
- krakensdr-df — direction-finding fault runbook
- 2026-08-26-raspi-oom-zram-hunter-ap-433-retune — zram OOM fix,
hunter-apbring-up, 433 retune - krakenpi-carbox — 3D-printed car enclosure for this rig
- homelab — homelab project overview