A portable emergency information hub for offline communication, media, and radio.
Delling – named after the Norse god of dawn, is a self-contained hub that runs on Orange Pi or Raspberry Pi. Connect to it from a cellphone via WiFi, all normal features are available from the browser. Built for power outages, emergencies, cabins, and community resilience.
- Software-defined radio – Multiple SDR applications (one at a time):
- FM Radio (AM/FM, Marine VHF, Aviation, PMR446)
- DAB+ Radio (digital radio)
- AIS ship tracking
- ADS-B aircraft tracking (readsb + tar1090)
- Offline maps – Leaflet map viewer with MBTiles tile server, AIS ship overlay
- Local communication – Mesh messaging via Meshtastic and Heltec V3
- Media server – Stream and share files from USB storage
- Offline knowledge – Kiwix server with Wikipedia and other archives
| Component | Purpose |
|---|---|
| Orange Pi 3 (1.5GB+) or Raspberry Pi 4/5 | Main computer |
| SD card (8GB minimum recommended) | Operating system |
| RTL-SDR dongle | Radio reception |
| USB storage (exFAT formatted) 64gb+ recommended | Media and offline content |
| Heltec V3 | Meshtastic mesh node |
Networking: Delling creates its own WiFi access point. Devices connect directly to it. The Ethernet port can be used for initial setup (internet access) or to connect Delling to an existing network.
The USB drive must be formatted as exFAT for cross-platform compatibility.
/media/usb/
├── Media/
│ ├── Video/
│ │ ├── Series Name/
│ │ │ └── episodes...
│ │ └── movies...
│ └── Audio/
│ └── music...
├── kiwix/
│ └── .zim files...
└── maps/
└── .mbtiles files...
Important: Kiwix
.zimfilenames must not contain spaces. Rename files likewikipedia_en_all 2026.zimtowikipedia_en_all_2026.zimbefore use. The folder nameskiwixandmapsare case-insensitive (Kiwix,KIWIX,Maps,MAPS, etc. all work).
Map tiles: Download global or regional
.mbtilesfiles from OpenAndroMaps before running the installer. Place them in themaps/folder on your USB drive.
For maximum phone/tablet compatibility, encode video as:
- Video codec: H.264
- Audio codec: AAC
- Container: MP4
This allows direct playback in mobile browsers without transcoding.
- Fresh Raspberry Pi OS (Trixie) or Armbian install
- Ethernet connection required (WiFi will be reconfigured during install)
- Basic Linux command line knowledge
The installer expects an exFAT-formatted USB drive connected and mounted at /media/usb. Prepare the following folders and files on the drive before running install.sh:
| Folder | Contents | Used by |
|---|---|---|
Media/ |
Video and audio files (see Video Format) | Tinymedia |
maps/ |
.mbtiles map tile files |
Offline Maps, AIS ship overlay, ADS-B tracking |
kiwix/ |
.zim offline knowledge files |
Kiwix |
All three folders are optional — the installer will skip or gracefully handle missing ones — but the services that depend on them won't work without the files. Folder names are case-insensitive (maps, Maps, MAPS all work).
Note: If the USB drive is not connected during install, Tinymedia setup will be skipped. You can run it manually later.
Warning: Do NOT run the installer over WiFi SSH. The script reconfigures WiFi as an access point, which will disconnect you. Always use Ethernet.
-
Set WiFi country (Raspberry Pi only — required for WiFi AP to work):
sudo raspi-config
Navigate to:
Localisation Options→WLAN Country→ Select your country, then reboot if prompted. -
Update system and install Git:
sudo apt update && sudo apt upgrade -y sudo apt install -y git -
Clone and run installer:
git clone https://github.com/tronba/Delling ~/Delling cd ~/Delling chmod +x install.sh ./install.sh
-
Follow the prompts:
- WiFi network name (default: Delling)
- WiFi channel (default: 6)
The installation takes 15-30 minutes depending on your hardware and internet speed.
After installation completes:
sudo rebootOnce rebooted, Delling will be ready:
- WiFi network "Delling" (or your chosen name) will be active
- Connect any device to this network
- Open a web browser - you'll be redirected to the control panel
- Power on Delling
- Connect to WiFi network "Delling" (open network, no password)
- Open browser - automatically redirects to control panel
- Click service you want to use - browser opens automatically
- FM Radio - AM/FM radio streaming with web interface
- DAB+ Radio - Digital radio receiver
- Maps - Offline map viewer with live AIS ship overlay
- Media Server - Browse and stream media from USB
- Kiwix - Offline Wikipedia and educational content
- Ship Tracking - Live AIS marine tracking
- Aircraft Tracking - ADS-B aircraft tracking with tar1090 map interface
- Meshtastic - Mesh messaging (requires Heltec V3)
Note: Only one SDR service (FM/DAB/AIS/ADS-B) can run at a time. The system automatically stops other SDR services when you start a new one.
| Service | Port |
|---|---|
| Delling Dashboard | 8080 |
| FM Radio | 10100 |
| DAB+ Radio | 7979 |
| Maps (tile server + viewer) | 8082 |
| Tinymedia (media server) | 5000 |
| Kiwix | 8000 |
| Ship Tracking (AIS-catcher) | 8100 |
| Aircraft Tracking (tar1090) | 8090 |
| Meshtastic | 192.168.4.10 |
- Check that wlan0 interface exists:
nmcli device status - Verify WiFi country is set (Raspberry Pi):
sudo raspi-config - Restart network:
sudo systemctl restart NetworkManager
- Check service status:
sudo systemctl status <service-name> - View logs:
sudo journalctl -u <service-name> -n 50 - Restart dashboard:
sudo systemctl restart delling-dashboard
- Check USB connection:
lsusb | grep Realtek - Test SDR:
rtl_test -t - Verify udev rules:
ls -l /etc/udev/rules.d/20-rtlsdr.rules
- Check format is exFAT:
sudo blkid - Manual mount:
sudo mount /dev/sda1 /media/usb - Add to fstab for auto-mount
All services are managed via systemd. You can control them manually if needed:
# Stop all SDR services
sudo systemctl stop rtl-fm-radio welle-cli aiscatcher readsb tar1090 lighttpd
# Start a specific service
sudo systemctl start rtl-fm-radio
# Start ADS-B (requires all three services)
sudo systemctl start readsb && sudo systemctl start tar1090 && sudo systemctl start lighttpd
# Set ADS-B receiver location (improves range display)
sudo readsb-set-location 59.9139 10.7522
# Adjust ADS-B gain
sudo readsb-gain -10
# Check service status
sudo systemctl status rtl-fm-radio
# View service logs
sudo journalctl -u rtl-fm-radio -fMIT License - See LICENSE file for details
Built with open-source software:
- Flask - Python web framework
- AIS-catcher - AIS receiver
- readsb - ADS-B decoder (by wiedehopf)
- tar1090 - ADS-B web interface (by wiedehopf)
- Kiwix - Offline content server
- Meshtastic - Mesh networking
- welle.io - DAB/DAB+ receiver
- rtl_fm_python_webgui - FM radio interface
- Tinymedia - Lightweight media server
- Leaflet - Interactive map library
The ADS-B aircraft tracking installation (readsb + tar1090) is adapted from the automatic installation script by wiedehopf. The upstream script handles a wide range of configurations and feeder setups; Delling's version is streamlined for offline/emergency use with on-demand SDR switching.
Thanks to Christian and Tobias for running the OpenAndroMaps project, providing freely available offline map data.
Contributions are welcome! Please feel free to submit issues or pull requests.
