An open-source hardware and software platform for computer control of modern vehicles to facilitate autonomous vehicle development.
OSCC (Open Source Car Control) is an open-source hardware and software platform that enables computer control of modern vehicles for autonomous vehicle development. It provides a modular system of custom PCBs and firmware that interface with a vehicle's OBD-II CAN network to send control commands and read vehicle data. The project solves the problem of safely and reliably controlling a vehicle's steering, throttle, and brake systems through software without compromising factory safety systems.
Autonomous vehicle researchers, automotive engineers, and embedded systems developers working on vehicle control systems, particularly those needing a hackable platform for prototyping and testing autonomous driving algorithms.
Developers choose OSCC because it offers a transparent, extensible alternative to proprietary vehicle control systems, with full hardware designs and safety-conscious firmware that maintains factory safety validation. Its modular architecture and vehicle-agnostic API make it adaptable to different vehicle models beyond the supported Kia variants.
Open Source Car Control 💻🚗🙌
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides custom PCB schematics for steering, throttle, and brake interfaces, enabling precise integration without altering factory safety systems, as detailed in the hardware section.
Maintains the vehicle's original safety-case with features like operator override detection and voltage range checks, ensuring safe experimentation as emphasized in the README.
Separates the C-based API from Arduino firmware, allowing easy modifications and testing without reflashing modules, which facilitates adding new vehicle support.
Enables software-based control of steering angle, throttle position, and brake actuation via sensor spoofing, offering a low-level interface for autonomous research.
Currently only supports Kia Soul and Niro models, and extending to other vehicles requires reverse-engineering CAN protocols, which the README admits is a manual process.
Requires building custom PCBs, managing version compatibility between boards and firmware, and using CMake with specific flags, which can be error-prone and time-consuming.
The Wiki is noted as being updated, potentially leaving users with incomplete guidance on setup and troubleshooting, which could hinder onboarding.