Knowledge Base

Everything you need to know and understand to develop V2X applications.

denm-generator.py
msg = self.generate_denm()
future = self.send_request(msg)
future.add_done_callback(self.request_completed)

C-ITS Stacks

The cube:radio API gives you direct access to the cube's V2X link layer. To build a complete C-ITS station, you also need the protocols that sit on top: GeoNetworking for geographic routing, BTP for transport, DCC for congestion control, and Security for message signing and validation.

A C-ITS stack is a suite of these protocols for cooperative intelligent transport systems. In Europe, ETSI's ITS technical committee standardizes them to ensure interoperability across ITS stations. See ETSI TS 103 836-3 for the protocol architecture.

You do not have to build this from scratch. Three options are available, depending on whether you need open-source flexibility, a ready-to-deploy container, or to integrate an existing stack.


Choose Your Stack

Vanetza – The Open Source Stack

For: C++ developers, researchers, and teams needing full protocol control.

Vanetza is an open-source C-ITS implementation, sponsored by nfiniity since 2024. It implements GeoNetworking, BTP, DCC, and Security, the core ETSI protocols. Pre-installed on every cube:evk with the socktap demo application, it can transmit CAMs and DENMs out of the box. You can also build your own ITS station on top of its C++ library.

Suitable for low-level control and custom protocol extensions.

cube:its – ROS 2 C-ITS Container

For: ROS 2 developers and teams that want a deployable ITS station.

The cube:its container turns the cube into an ETSI-compliant ITS station. It is built on the Vanetza core and extended with ETSI facility layer implementations. V2X communication is exposed through ROS 2 topics and services, including facility services for CAM, DENM, CPM, and VAM. The container ships with dev containers and remote deployment tools.

Suitable for deployments where ROS 2 integration is required.

Custom Stack – Bring Your Own

For: Teams with existing C-ITS stacks or custom protocol requirements.

If you already have a C-ITS stack or need a custom implementation, the cube platform supports it. The cube:radio, cube:ubx, and cube:time libraries provide V2X frame transmission, GNSS positioning, and ITS time synchronization. See the "tiny stack" example for a minimal starting point, or integrate your own stack directly.

Suitable for proprietary implementations and existing codebases.


Comparison

FeatureVanetzacube:itsCustom Stack
LanguageC++ROS 2 / Python / C++Your choice
Learning curveModerateLow (if ROS 2 familiar)Depends
Protocol controlFull accessHigh-level APIFull access
Pre-built appssocktap demoROS 2 nodesDIY
Integration effortLowLowVariable
Typical use caseProtocol researchDeploymentCustom requirements