ProtO-RU is a software implementation of an O-RAN split 7.2-compatible Radio Unit based on OCUDU (release 26.04). It extends the OCUDU Open Fronthaul library and RU emulator with an SDR-backed O-RU mode.
ProtO-RU supports UHD-compatible radios such as the USRP B210. ZMQ operation is not supported in this release.
ProtO-RU is intended for research and development where a customizable software O-RU is preferable to a fixed-function commercial radio. It can run on x86 and ARM hosts supported by OCUDU and UHD.
- Technical report: arXiv
- ACM Open AI-RAN 2025 invited demo: poster, video
- Summer 2026 OAI Workshop demo: video
Note: For earlier releases of ProtO-RU, check out the
legacybranch.
- Overview and setup
- Configuration and integration
- Support
Install the required dependencies by following the OCUDU installation guide. Then build ProtO-RU in the same way as OCUDU:
mkdir build
cd build
cmake ../
make -j $(nproc)The resulting executable is build/apps/examples/ofh/ru_emulator.
See the Docker quickstart for container-based build and run instructions.
ProtO-RU requires synchronized DU and RU host clocks and a real-time kernel on the RU host for sustained operation. Review the hardware requirements and time synchronization guide before starting it.
Adapt one of the paired example configurations, then run:
sudo ./build/apps/examples/ofh/ru_emulator -c /absolute/path/to/protoru.ymlProtO-RU needs a larger Open Fronthaul delay profile than the stock OCUDU O-DU accepts. Apply the range adjustment described in the integration notes before using the included OCUDU O-DU samples.
@techreport{zhou2025protoru,
title={ProtO-RU: An O-RAN Split-7.2 Radio Unit using SDRs},
author={Zhiyu Zhou and Xin Zhe Khooi and Satis Kumar Permal and Mun Choon Chan},
year={2025},
eprint={2512.02398},
archivePrefix={arXiv},
primaryClass={cs.NI},
url={https://arxiv.org/abs/2512.02398},
}For questions and feedback, use one of these channels:
- Issue tracker
- Discussion board
- Discord server
- Email:
khooixz [at] comp [dot] nus [dot] edu [dot] sg
OCUDU is a permissively-licensed, open-source 5G (and beyond) CU/DU project designed for commercial deployment and broad industry adoption, as well as advanced research and development. OCUDU is a complete radio access network (RAN) solution compliant with 3GPP and O-RAN Alliance specifications and includes the full L1/2/3 stack with minimal external dependencies. OCUDU is governed under the Linux Foundation.
This repository contains the RAN source code, architecture documentation, and tooling.
For general information, visit https://ocudu.org.
Build instructions and user guides are provided in the OCUDU User manual. We also host an extensive selection of tutorials.
Complete project documentation including developer guideline, configuration reference, tutorials, etc. is hosted in this repo. The most recent version of the documentation is available here.
Our project welcomes contributions from any member of our community. To get started contributing, please take a look at the Developer Guide with detailed instructions on how to best engange with us.
The OCUDU project is governed by a framework of principles, values, policies and processes to help our community and constituents towards our shared goals.
The Governance repo is used by the Technical Steering Committee, which oversees governance of the project.
This project is licensed under the BSD 3-Clause Open MPI variant License – see the LICENSE file for details. Portions of this software may implement 3GPP specifications, which may be subject to additional licensing requirements.
