# openpilot | comma.ai | Knowledge Base | Instagit

openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300+ supported cars.

GitHub Stars: 60.2k

Repository: https://github.com/commaai/openpilot

---

## Articles

### [How OpenPilot Achieves Accurate Sensor Fusion Between GPS, IMU, and Camera Odometry for Localization](/commaai/openpilot/how-openpilot-achieves-sensor-fusion-gps-imu-camera-odometry)

Discover how OpenPilot achieves accurate sensor fusion using GPS, IMU, and camera odometry for precise vehicle localization. Learn about its tightly-coupled EKF in locationd.

- Tags: deep-dive
- Published: 2026-03-05

### [How OpenPilot Performs Vehicle Fingerprinting to Identify Unknown Car CAN Bus Configurations](/commaai/openpilot/how-openpilot-performs-vehicle-fingerprinting-unknown-cars)

Learn how OpenPilot performs vehicle fingerprinting by analyzing CAN bus traffic to identify unknown car configurations. Discover the deterministic method used to match patterns and resolve ambiguities.

- Tags: how-to-guide
- Published: 2026-03-05

### [Openpilot Athena System: WebSocket Cloud Connectivity Protocol and Architecture](/commaai/openpilot/communication-protocol-athena-system-cloud-connectivity)

Explore the Openpilot Athena system's WebSocket cloud connectivity protocol. Learn how JSON-RPC enables remote commands, file uploads, tunneling, and telemetry.

- Tags: architecture
- Published: 2026-03-05

### [How openpilot Implements Robust Logging and Telemetry Collection with loggerd](/commaai/openpilot/how-openpilot-implements-logging-telemetry-loggerd)

Discover how openpilot's loggerd robustly collects CAN, sensor, and camera telemetry. Learn about its single poll loop, qlog segments, and synchronization for reliable data analysis.

- Tags: internals
- Published: 2026-03-05

### [OpenPilot Steering Control Strategies: Angle vs Torque vs PID Explained](/commaai/openpilot/different-steering-control-strategies-supported)

Explore OpenPilot's steering control: Angle vs Torque vs PID. Learn how OpenPilot automatically selects the optimal strategy based on your vehicle's EPS hardware for enhanced control.

- Tags: deep-dive
- Published: 2026-03-05

### [How the openpilot torqued Module Estimates and Compensates Steering Torque Feedback in Real-Time](/commaai/openpilot/how-torqued-estimates-compensates-steering-torque-feedback)

Discover how openpilot's torqued module estimates and compensates steering torque feedback in real-time using advanced least-squares regression and filtering for stable performance.

- Tags: internals
- Published: 2026-03-05

### [plannerd Module Decision-Making Process in openpilot: Complete Technical Breakdown](/commaai/openpilot/detailed-pipeline-plannerd-decision-making)

Explore the plannerd module's decision-making process in openpilot. Understand how it uses MPC, model predictions, and vehicle data to create safe acceleration trajectories.

- Tags: deep-dive
- Published: 2026-03-05

### [How OpenPilot Streams Camera Frames Efficiently Between Processes Using Vision IPC (msgq)](/commaai/openpilot/how-vision-ipc-streams-camera-frames)

Discover how OpenPilot achieves efficient camera frame streaming using Vision IPC and msgq. Learn about zero-copy inter-process communication for optimized performance.

- Tags: internals
- Published: 2026-03-05

### [OpenPilot Route Replay Architecture: Deep Dive into the Debugging Implementation](/commaai/openpilot/architecture-route-replay-functionality-debugging)

Explore the OpenPilot route replay architecture a deep dive into its C++ multi-threaded subsystem for debugging recorded drives. Learn about segment loading event streaming and vision frame serving.

- Tags: deep-dive
- Published: 2026-03-05

### [How the OpenPilot Persistent Params System Stores Configuration Across Reboots](/commaai/openpilot/how-params-system-stores-manages-configuration)

Learn how OpenPilot's persistent params system saves config across reboots. Discover its file storage, atomic writes, and lifecycle management for reliable user settings.

- Tags: internals
- Published: 2026-03-05

### [How Openpilot Handles Process Recovery and Automatic Restarts After Crashes](/commaai/openpilot/strategy-process-recovery-restart-crashes)

Discover how openpilot achieves high reliability. Learn about its watchdog system that automatically restarts crashed processes, ensuring continuous operation.

- Tags: internals
- Published: 2026-03-05

### [How calibrationd Calibrates Device Pose and Camera Extrinsics for Accurate Driving Assistance](/commaai/openpilot/how-calibrationd-calibrates-device-pose-camera-extrinsics)

Learn how calibrationd calibrates device pose and camera extrinsics using fused camera odometry and a kinematic model for precise driving assistance with openpilot.

- Tags: internals
- Published: 2026-03-05

### [How OpenPilot Implements Critical Safety Features and Fault Detection Mechanisms](/commaai/openpilot/how-openpilot-implements-safety-features-fault-detection)

Discover how OpenPilot leverages multi-layered defenses, CAN validation, and health watchdogs for critical safety and fault detection, ensuring driver alerts and actuator disengagement.

- Tags: internals
- Published: 2026-03-05

### [How Openpilot Performs Real-Time Car Parameter Estimation Using liveParameters](/commaai/openpilot/how-openpilot-performs-car-parameter-estimation-liveparameters)

Discover how openpilot estimates car parameters in real-time using liveParameters. Learn how the Kalman filter refines steer ratio, stiffness, and offsets for precise lateral control.

- Tags: deep-dive
- Published: 2026-03-05

### [How DesireHelper Manages Lane Change Decision-Making in openpilot](/commaai/openpilot/algorithms-lane-change-decision-logic-desirehelper)

Discover how DesireHelper in openpilot uses a finite-state machine to manage lane change decisions. Learn about driver inputs and vehicle state integration for automated maneuvers.

- Tags: internals
- Published: 2026-03-05

### [Message Passing Using Cereal Messaging in Openpilot: Implementation Strategy and Architecture](/commaai/openpilot/implementation-message-passing-cereal-messaging)

Discover Openpilot's dual-layer message passing strategy using Cereal for typed serialization and msgq for zero-copy transport. Learn about PubMaster and SubMaster architecture.

- Tags: architecture
- Published: 2026-03-05

### [How the OpenPilot Manager Orchestrates and Supervises All Self-Driving Services](/commaai/openpilot/how-manager-process-manages-openpilot-services)

Discover how the OpenPilot manager orchestrates and supervises self-driving services. Learn about its role in initialization, state evaluation, and service management for optimal performance.

- Tags: internals
- Published: 2026-03-05

### [OpenPilot Car Interface Architecture: How It Supports 275+ Vehicle Models](/commaai/openpilot/architecture-car-interface-abstraction-275-models)

Discover the OpenPilot car interface architecture enabling support for 275+ vehicle models. Learn how its abstraction layer maps CAN bus fingerprints to Python classes for broad compatibility.

- Tags: architecture
- Published: 2026-03-05

### [How the locationd Kalman Filter Estimates Vehicle Pose and Localization in Openpilot](/commaai/openpilot/how-locationd-kalman-filter-estimates-vehicle-pose)

Learn how the locationd Kalman filter in openpilot fuses IMU and visual odometry data to accurately estimate vehicle pose and achieve real-time localization.

- Tags: internals
- Published: 2026-03-05

### [How openpilot Handles CAN Communication: Architecture and Implementation](/commaai/openpilot/how-openpilot-handles-can-communication-car-interfaces)

Discover how openpilot handles CAN communication. Explore its layered architecture, Panda device I/O abstraction, DBC parsers, and CarInterface implementations for seamless vehicle integration.

- Tags: architecture
- Published: 2026-03-05

### [How the modeld Process Runs Deep Learning Inference with TinyGrad for Autonomous Driving](/commaai/openpilot/how-does-modeld-run-deep-learning-inference-tinygrad)

Discover how openpilot's modeld process executes deep learning inference using TinyGrad on Qualcomm or AMD hardware to generate real-time driving commands for autonomous vehicles.

- Tags: internals
- Published: 2026-03-05

### [How controlsd Implements Lateral and Longitudinal Control in openpilot](/commaai/openpilot/how-does-controlsd-implement-lateral-longitudinal-control)

Discover how openpilot's controlsd implements lateral and longitudinal control. Learn about its 100 Hz loop for sensor data, controller computation, and car command publishing.

- Tags: internals
- Published: 2026-03-05

