RANPI

Private LTE. Portable. Self-hosted.

RANPI

Why I Built This

The problem started when I got my first private LTE network running. I had an Open5GS core, srsRAN on the radio side, a CBRS-band SDR, and a SIM I provisioned myself. I walked across my property and the UE stayed connected. Packets were flowing. It worked.

Then I asked the obvious question: how good is it, really?

I had no way to answer it. Not in any meaningful sense. I could read RSRP from a log file. I could stand in one spot and squint at numbers scrolling past a terminal. But I had no coverage map. No survey path. No way to compare corner to corner or floor to floor. The tools that network engineers reach for in the enterprise world — Ekahau, AirMagnet, spectrum analyzers with RF capture — they're built for Wi-Fi, cost thousands of dollars, and have no concept of an LTE PHY layer you assembled yourself.

Commercial LTE drive test software exists. It's what carriers use. It's also what costs more than most home lab setups combined. None of it expects you to be running an open-source stack.

There was no RF survey tool designed for a person who built their own LTE network on a shelf. So I built one.

I started by writing a measurement utility that hooked directly into the srsRAN PHY layer and pulled RSSI, RSRP, and RSRQ out in a structured format. That became its own project — the LTE Cell Measurement Utility. But raw JSON measurements are still just numbers. I needed something to turn walking around a building into a picture.

That's where OpenCellSurvey came from. I built a web-based survey platform that consumed those measurements, paired them with GPS coordinates, and painted them onto a map. Real coverage visualization. The kind of output you'd get from a carrier drive test, running on a Raspberry Pi in my lab.

RANPI is the broader platform. The name is what it says: a RAN on a Pi. A compact, portable, self-contained cellular lab built from SDR hardware, open-source software, and the kind of stubbornness that makes most people say "why would you even try that?" It's the platform I wish existed when I started.

RANPI Software

Before you can survey coverage, you need a network running. RANPI is a self-hosted web application that puts a control panel around srsRAN — handling process management, configuration editing, and live system monitoring from a browser on port 8000. It runs as a systemd service on the same device as the radio stack.

The interface supports both 4G eNB and 5G gNB workflows. Start and stop srsRAN processes, edit configuration files directly through the UI, watch system metrics in real time, and monitor UE telemetry — all without touching a terminal once the system is set up. It works alongside OpenCellSurvey: RANPI manages the radio, OCS measures what it's doing.

Process Manager Start, stop, and monitor srsRAN 4G and 5G processes. Validates binary paths before launch and surfaces errors directly in the UI.
Config Editor — 4G Tabbed editor for enb.conf, sib.conf, rr.conf, and rb.conf. Saved as raw text with atomic write and .bak backup.
Config Editor — 5G Dual-mode editor for gnb.yaml: structured form view for common fields, or full CodeMirror YAML editor. Unknown keys are preserved on save.
System Monitor Live CPU, memory, and system metrics via psutil. Visible without leaving the management interface.
UE Telemetry Real-time UE metrics ingested over WebSocket, UDP, or stdout. Useful for watching attach state and signal quality during a session.
Binary Path Settings Auto-detects srsRAN binaries in standard paths or accepts manual overrides. Validates existence and executable permissions before saving.
Auth + CSRF Session-based authentication with CSRF protection. Default credentials are enforced to change on first login.
Installer + Upgrades Single installer script handles fresh installs and in-place upgrades from v1.x. Backs up /opt/ranpi before touching anything. Rollback instructions shown on failure.

OpenCellSurvey

OpenCellSurvey (OCS) is the RF survey layer of RANPI. It's a self-hosted web application that provides live LTE signal measurement visualization, GPS-tracked survey paths, and exportable HTML reports.

The measurement workflow is driven by the LTE Cell Measurement Utility, which decodes MAC and PHY layer frames from srsRAN to produce live signal data. OCS takes that data and puts it on a map.

Coverage Map Live interactive map with 5-meter grid RSRP color mapping as you walk a survey path.
GPS Path Tracking Real-time GPS integration for walking surveys with continuous path visualization.
Multi-Band Support Supports multiple LTE bands including CBRS Band 48 for private network deployments.
Live RSRP Chart Rolling signal chart showing RSRP trend in real time during an active survey.
Propagation Overlay FSPL-based tower simulation overlay for comparing theoretical vs. measured coverage.
Survey Reports HTML export with embedded map screenshot, RSRP chart, and measurement table — ready for PDF.
Session Management Rename, revisit, and delete survey sessions. Full history of past surveys.
PRB Selection PRB selection support across LTE bandwidths for flexible measurement configuration.

Stack

Core Open5GS — EPC / 5G core for UE registration, bearer management, PDN connectivity
RAN srsRAN 4G / srsRAN Project — software-defined LTE eNodeB and 5G gNB with PHY/MAC layer access
RF Hardware USRP B-series or compatible SDR for CBRS Band 48 and standard LTE/NR bands
Management UI RANPI — FastAPI web app for process control, config editing, UE telemetry, and system monitoring (port 8000)
Survey Platform OpenCellSurvey — self-hosted web app with interactive map, GPS path tracking, and HTML report export (port 8443)
Measurement LTE Cell Measurement Utility — srsRAN PHY hook producing RSSI, RSRP, RSRQ as JSON
Deployment Ubuntu 22.04+, systemd services, installer scripts — amd64 and arm64

Build Your Own

RANPI is designed to be physically compact and reproducible. The enclosures for the Raspberry Pi 5 and the B210 LibreSDR clone are custom-designed to house both units together in a portable form factor. STL files for 3D printing will be published here when finalized.

Raspberry Pi 5 Enclosure Compact enclosure for the Raspberry Pi 5. Designed for active cooling with cutouts for GPIO, USB, and Ethernet access.
B210 LibreSDR Clone Enclosure Enclosure for the B210-compatible LibreSDR clone. Includes SMA antenna port cutouts and ventilation slots for sustained RF operation.
STL Download

Status

RANPI v2.6 is the current release. The management interface, config editor, process manager, and UE telemetry are all functional. OpenCellSurvey is in its initial public release alongside it — the two applications are designed to run together on the same device.

This is a lab-grade platform intended for private LTE and CBRS testing, field survey experimentation, and learning how carrier-grade cellular infrastructure actually works from the PHY layer up. It is not a product. It is what happens when a network engineer gets tired of having no tools.