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 by interfacing with their internal communication networks and control systems. It provides developers with the ability to send steering, throttle, and brake commands, and read vehicle data via the OBD-II CAN bus, serving as a foundational tool for autonomous vehicle research and development.
Researchers, engineers, and developers working on autonomous vehicle technology, robotics, or automotive systems who need a programmable, low-level interface to control a vehicle's driving actuators.
OSCC offers a unique open-source, modular alternative to proprietary vehicle control interfaces, allowing full-range control without compromising factory safety systems. Its separation of API and firmware, along with detailed hardware designs, provides transparency and flexibility for customization and expansion to new vehicle models.
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.
The separation between API and firmware allows for easy testing and modification without updating flashed modules, as highlighted in the README's description of the modular design.
OSCC spoofs sensor signals to vehicle ECUs without altering factory safety systems or directly hacking CAN messages, preserving original safety features as stated in the philosophy.
Provides software control over steering angle, throttle position, and brake actuation across their entire operational ranges, enabling comprehensive vehicle manipulation for research.
Includes PCB schematics and board designs under CC BY-SA 4.0 license, allowing customization and community-driven expansion, as detailed in the repository contents.
Currently only supports 2014+ Kia Soul and Niro models, with adding new vehicles requiring reverse-engineering and significant effort, as admitted in the README.
Requires installing Arduino Core, CMake, building firmware with specific vehicle flags, and physically installing hardware modules, making initial setup daunting for non-experts.
The Wiki is noted as being updated, which may lead to gaps or outdated information for users, potentially hindering implementation and troubleshooting.
Operator overrides for steering can cause injury if misconfigured, with sensitivity adjustments needed to avoid false positives, as warned in the build instructions.