StarPilot's angle-only bluepilot_lateral adaptation and the BluePilot-derived curvature strategies (Mach-E, classic, Explorer, generic CAN FD, new-port curvature, manual-turn latch, curvature preview, pinion measurement) are removed, with their extended safety profiles 16/32/64 and the interim angle word 128. Ford lateral is upstream's stock curvature path until the BluePilot lateral library is mounted. StarPilot's own Ford features stay, re-keyed from the extended words to the stock ones: - AOL: classic 32 -> 0, Mach-E 18 and the CAN FD trucks 66 -> 2 (+1 with openpilot long); the CAN FD retained-display rules apply to word 2. Edge/Mondeo/Transit and the manual bit (256) are unchanged. - release CAN FD long: word 3 (was 19/67); 19 and 67 are now retired and denied. - stock cruise switch, CAN FD camera-lead radar handling, hands-free cluster: keyed on the Ford family. - classic stock ACC (0) keeps the no-ACCDATA TX list the extended classic profile had. Bits 9-14 of the Ford param are reserved for the BluePilot lateral library's startup bits (safety/modes/ford_param.h); AOL and pandad mask them out of the profile word. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
openpilot tools
For StarPilot's ./build, ./dev, ./onroad, ./c3, and ./c4 workflows,
see StarPilot developer commands.
System Requirements
openpilot supports Linux alongside the supported embedded hardware.
Most of openpilot should work natively on macOS. On Windows, you can use WSL for a nearly native Linux experience.
Native setup on Linux and macOS
Follow these instructions for a fully managed setup experience. If you'd like to manage the dependencies yourself, just read the setup scripts in this directory.
1. Clone openpilot
git clone https://github.com/commaai/openpilot.git
2. Run the setup script
cd openpilot
tools/op.sh setup
3. Activate a Python shell Activate a shell with the Python dependencies installed:
source .venv/bin/activate
4. Build openpilot
scons -u
WSL on Windows
Windows Subsystem for Linux (WSL) should provide a similar experience to native Linux. WSL 2 specifically has been reported by several users to be a seamless experience.
Follow these instructions to set up WSL. We recommend installing the Ubuntu-24.04 distribution. Once your WSL environment is set up, follow the Linux setup instructions to finish setting up your environment. See these instructions for running GUI apps.
NOTE: If you are running WSL 2 and experiencing performance issues with the UI or simulator, you may need to explicitly enable hardware acceleration by setting GALLIUM_DRIVER=d3d12 before commands. Add export GALLIUM_DRIVER=d3d12 to your ~/.bashrc file to make it automatic for future sessions.
CTF
Learn about the openpilot ecosystem and tools by playing our CTF.
Directory Structure
├── car_porting/ # Tools for porting new cars
├── release/ # Scripts for building openpilot releases
└── scripts/ # Miscellaneous scripts
Development tools such as cabana, plotjuggler, and replay live in openpilot/tools/:
├── cabana/ # View and plot CAN messages from drives or in realtime
├── camerastream/ # Cameras stream over the network
├── joystick/ # Control your car with a joystick
├── lib/ # Libraries to support the tools and reading openpilot logs
├── plotjuggler/ # A tool to plot openpilot logs
├── replay/ # Replay drives and mock openpilot services
└── sim/ # Run openpilot in a simulator