Cabana is openpilot’s built-in CAN bus analysis tool. It lets you view raw CAN messages from recorded drives or in realtime from a connected comma device or panda, overlay video from the drive, decode signals using DBC files, and plot any signal over time. Cabana integrates directly with commaai/opendbc so you can load and save DBC files from source as you work through a new car port.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/commaai/openpilot/llms.txt
Use this file to discover all available pages before exploring further.
Launching Cabana
Cabana is built as part of the openpilot build. After runningscons -u, the binary is at tools/cabana/cabana. Running it without arguments opens the stream selector dialog so you can choose a data source interactively.
Full options reference
Use cases
Debugging a new car port
Debugging a new car port
When porting openpilot to a new car, Cabana lets you watch raw CAN traffic and assign signals to a DBC file. Load a route from the car, open a DBC file from opendbc, and start mapping byte positions to known control values like steering angle, wheel speed, and gas pedal position.
Analyzing recorded drives
Analyzing recorded drives
Load any route from comma connect by pasting the route identifier. Cabana downloads and decodes the log, displays all CAN messages in a table, and plots any decoded signal against the drive video timeline.
Streaming live CAN data from a comma device
Streaming live CAN data from a comma device
SSH into your comma device and start the bridge, then connect Cabana over ZMQ. Cabana will log the stream to
~/cabana_live_stream/ by default, and you can replay the saved data afterwards via the stream selector dialog.Streaming CAN data directly from a panda
Streaming CAN data directly from a panda
Connect a panda to your PC via USB and read CAN messages directly without needing a comma device or route.
Using a local route directory
Using a local route directory
If you have route segments stored locally (for example, downloaded from a comma device), point Cabana at the directory.
Changing the log directory for live streams
When streaming from a comma device, Cabana saves CAN messages to~/cabana_live_stream/ by default. To change this, go to Menu → Tools → Settings inside Cabana.
To replay a recorded route you only need the route identifier from connect.comma.ai — no hardware required. For live CAN streaming you need either a connected comma device (via ZMQ) or a panda connected directly to your PC over USB.
