commaai/openpilot
openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300+ supported cars.
How openpilot is put together
openpilot is an open-source driver assistance system ('operating system for robotics') that runs on comma hardware (comma four/3X) upgrading ADAS in 300+ supported cars. It is primarily Python with performance-critical parts in C++/C (pandad, camerad, loggerd, encoderd), organized as many cooperating daemons managed by a central manager (system/manager) that starts/stops processes based on driving state and Params flags. Processes communicate via a publish/subscriber messaging layer built on Cap'n Proto serialization over msgq/ZMQ (cereal), with typed event schemas in log.capnp. Data flows from car CAN bus and sensors through pandad/sensord/camerad into modeld/controlsd for actuation, while loggerd records segments to disk and uploader ships them to comma servers; the Athena component provides remote access via WebSocket/JWT.
Languages
Frameworks
Infrastructure
Major components
cereal
Defines Cap'n Proto message schemas (log.capnp, custom.capnp) and the pub/sub messaging layer (msgq/ZMQ sockets, VisionIPC) used by all processes.
system/manager
Process supervisor that launches and monitors all daemons according to declarative start-condition predicates in process_config.py.
selfdrive/pandad
Communicates with the panda safety MCU over SPI/USB, forwarding CAN traffic between the car and openpilot with Cap'n Proto conversion helpers.
selfdrive/controls
Core driving control loop: controlsd actuates steering/acceleration, plannerd plans trajectory, radard tracks lead vehicles.
selfdrive/modeld
Runs neural-network perception models (driving model and driver monitoring) using tinygrad-compiled artifacts.
system/loggerd
Records camera/video encodes, logs, and CAN data into 60-second route segments, manages disk usage (deleter), and uploads routes to comma servers (uploader).
system/athena
Remote-access bridge connecting devices to comma's backend over WebSocket with JWT authentication.
common
Shared utilities: Params key-value persistence, hardware abstraction, API client with JWT signing, transformations, logging (swaglog).
selfdrive/ui
On-device user interface (raylib-based) plus driver-facing sounds (soundd).
tools/lib
CLI tooling including CommaApi REST client with retries and OAuth login flows (Google/Apple/GitHub/JWT) against api.commadotai.com.
A quieter week focused on stabilizing the webrtc streaming service, cleaning up the big-model rollout, and fixing small UI and startup issues.
5 weeksWeek of 2026-08-17
Week of 2026-08-17latest
A quieter week focused on stabilizing the webrtc streaming service, cleaning up the big-model rollout, and fixing small UI and startup issues.
Week of 2026-08-10
A big week for the chestnut release branch: dedicated build scripts, flashing fixes, an offroad prompt to switch branches, plus GPS assistance improvements and a new OS update.
Week of 2026-08-03
Major housekeeping week: the internal hardware platform was renamed from 'tici' to 'comma', camera code was cleaned up, and a chestnut updater plus eSIM improvements landed.
Week of 2026-07-27
Work centered on shipping and monitoring the new 'big' driving model—loading alerts, failure warnings, and GPU indicators—plus fast clip transcoding and test speedups.
Week of 2026-07-20
Preparation for the big model release dominated: fallback loading, eGPU indicators, new sounds, and dependency slimming like removing emoji and Pillow support.
The last month of openpilot work centers on a new 'big' driving model and a companion hardware/software effort called 'chestnut', with heavy iteration on how the model loads, alerts, and falls back when it fails. Alongside that, the team polished the live video streaming stack (webrtc), shipped several AGNOS operating system updates, and did broad cleanup—renaming hardware platforms, removing unused dependencies, and speeding up builds and tests. Reliability fixes for the UI, camera pipeline, logging, and GPS rounded out each week.
Week by week
2026-08-17A quieter week focused on stabilizing the webrtc streaming service, cleaning up the big-model rollout, and fixing small UI and startup issues.latest6 changes
Fix
Cruise planner decel fix
Fixed jerky braking behavior coming from the cruise control planner.
Chore
Webrtc cloud logging
The live-streaming service now reports errors to the cloud so remote issues are easier to diagnose.
Fix
Webrtc race condition
Fixed a timing bug where messages could be handled out of order in the streaming service.
Refactor
Faster startup logging
Removed about half a second of delay before the car's data logger starts recording at boot.
Fix
Updater UI reopens after crash
If the software updater screen crashes, it now reopens instead of staying dead.
Chore
Big model detection cleanup
Simplified the code that detects whether the large driving model is present.
2026-08-10A big week for the chestnut release branch: dedicated build scripts, flashing fixes, an offroad prompt to switch branches, plus GPS assistance improvements and a new OS update.6 changes
Feature
Chestnut release branch
Created a separate 'chestnut' release branch with its own build scripts and update table.
Feature
Branch switch alert
Added an offroad notification encouraging users to switch to the chestnut branch.
Fix
Chestnut flashing on old firmware
Fixed the process so chestnut can be flashed onto devices running older firmware.
Feature
Comma AGPS source
The GPS helper now continuously fetches satellite assistance data from comma's own servers for faster location locks.
Fix
Big model failed alert
The screen now clearly warns when the large driving model fails to load.
Chore
AGNOS 19.6
Shipped a new version of the device operating system.
2026-08-03Major housekeeping week: the internal hardware platform was renamed from 'tici' to 'comma', camera code was cleaned up, and a chestnut updater plus eSIM improvements landed.6 changes
Refactor
Renamed tici to comma
The internal name for the device hardware platform was changed from 'tici' to 'comma' throughout the codebase.
Feature
Chestnut updater
Built the software updater support needed for the upcoming chestnut release.
Feature
eSIM profile notifications
eSIM changes now report status notifications following the industry standard, including reporting when no eSIM chip is present.
Fix
Log rollover keeps newest
When storage fills up, the logger now deletes the oldest logs instead of accidentally deleting the newest ones.
Feature
Fonts loaded on demand
The display now loads fonts as needed, including Noto fonts for Asian languages, instead of bundling everything upfront.
Fix
Params cleanup hang fixed
Fixed a bug where the settings database could hang on shutdown during cleanup.
2026-07-27Work centered on shipping and monitoring the new 'big' driving model—loading alerts, failure warnings, and GPU indicators—plus fast clip transcoding and test speedups.6 changes
Feature
'Be Right Here' big model
Released a new larger driving model alongside supporting alerts and a loading chime.
Feature
Fast hardware clip transcoding
Video clips can now be converted using the device's hardware encoder instead of slow software processing.
Feature
GPU icon onroad
The on-screen interface shows a GPU indicator while the big model is active or loading.
Fix
Lane departure blinker cooldown
Fixed the lane-departure warning using the wrong time step in its blinker cooldown logic.
Refactor
Faster unit tests
Replaced pytest with a lightweight custom runner and removed slow tests so checks finish much quicker.
Chore
AGNOS 18.8
Shipped another operating system update for the device.
2026-07-20Preparation for the big model release dominated: fallback loading, eGPU indicators, new sounds, and dependency slimming like removing emoji and Pillow support.6 changes
Feature
Big model fallback
Added a safety net so the system can fall back if the large driving model fails to load.
Feature
eGPU UI indicators
The interface now shows an external-GPU icon whenever the extra GPU is detected.
Feature
New sounds for 3x
Introduced fresh audio cues for the upcoming release.
Chore
Removed emoji and Pillow
Dropped emoji rendering and the Pillow image library to slim down the software.
Fix
Cruise speed limit handling
Moved cruise speed-limit logic out of the controller math for cleaner longitudinal control.
Chore
AGNOS 18.7
Shipped an updated version of the device operating system.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 67 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required