Until recently, the dream of building your own self-driving vehicle looked reserved for well-funded university labs and technology giants with eight-figure budgets. That era is drawing to a close thanks to OSCC, a project that rewrites the rules. For less than a thousand dollars, using parts available off the shelf, any developer can now turn an ordinary car into a development platform for autonomous vehicles. That level of access opens fascinating ground for innovation in self-driving technology.
Why OSCC changes self-driving car development
Open Source Car Control, known by the acronym OSCC, is far more than another GitHub project. This initiative from PolySync Technologies offers a complete set of hardware and software for computer control of modern cars. Its stated aim is to make autonomous vehicle development easier by opening up what traditionally cost more than 140,000 dollars on equivalent proprietary platforms.
The contrast with existing commercial solutions is immediate. The professional autonomous vehicle development platforms sold by specialist companies come not only with eye-watering prices but with impenetrable black boxes. Developers buy those systems without really understanding how they work underneath, which prevents them from innovating properly or adapting the technology to their own needs. OSCC demolishes that barrier by publishing its hardware schematics and source code in full.
The modular approach OSCC takes is another major strength. The system breaks down into individual modules handling steering, acceleration, braking and the CAN gateway separately. Each module runs on a purpose-designed Arduino board, so developers can test and modify each subsystem independently. That architecture makes debugging and step-by-step experimentation considerably easier without risking the whole system.
The open source philosophy behind OSCC goes beyond making the code available. The project also publishes the circuit board schematics, the 3D models of the enclosures, the wiring diagrams and all the technical documentation needed. That complete transparency lets anyone understand exactly how each component works, reproduce the system, improve it or adapt it to other vehicles. Openness of this kind fuels collective innovation in a way a closed ecosystem never could.
How OSCC actually controls a car
Looking at how OSCC works technically reveals the ingenuity of its approach. Rather than modifying or hacking the existing driver assistance systems, OSCC interacts directly with the vehicle's low-level sensors. That method leaves the car's original safety systems entirely intact while still allowing full computer control.
For steering, OSCC interfaces with the steering wheel torque sensor. That sensor normally measures the force the driver applies to the wheel so the power steering can assist. By sending appropriate signals to it, OSCC can command the steering without physically modifying the original power steering system. The elegance of the approach means that if OSCC shuts down or hits a problem, the steering immediately returns to normal and stays usable by the driver.
Throttle control works on a similar principle by interacting with the accelerator pedal position sensor. Instead of mechanically modifying the pedal, OSCC sends electronic commands that simulate pressure on it. The engine control unit responds to those signals exactly as it would to a human driver pressing the accelerator. The method keeps every engine protection system active and working.
Braking is the most complex technical problem for OSCC, particularly on petrol versions of the Kia Soul, which have no electric braking from the factory. The project solves this by fitting an auxiliary actuator that applies the brakes mechanically. That hardware addition is still reversible and does not alter the main braking system. On electric versions with electronically controlled regenerative braking, integration is simpler and more direct.
The CAN gateway is the brain of the OSCC system, handling all communication between the control computer and the various modules. The CAN bus, standard in modern cars, carries messages between the vehicle's control units. OSCC connects to that bus to read the current state of the vehicle โ speed, steering angle, brake activation โ and to send control commands. The architecture allows clean integration without invasive changes to the original wiring.
Why the Kia Soul was chosen for OSCC
Picking the Kia Soul as the reference vehicle for OSCC was no accident. This compact car combines several characteristics that make it an ideal platform for affordable autonomous vehicle development. Available in petrol and electric versions since 2014, the Soul offers welcome flexibility depending on a developer's preferences and budget.
The electronic architecture of the Kia Soul, particularly in its more recent versions, makes integrating OSCC much easier. The car already has electric power steering and many electronically controlled systems, which reduces the interfacing work. PolySync's engineers documented the CAN architecture of this vehicle meticulously, creating a body of shared knowledge that is valuable to the whole developer community.
The relatively low cost of used Kia Souls is another decisive advantage. Unlike the luxury vehicles often used for self-driving demonstrations, a 2014 Soul turns up easily on the second-hand market for a few thousand dollars. That affordability means the total cost of an autonomous development vehicle โ car plus OSCC kit โ stays under 10,000 dollars, a tiny fraction of what commercial solutions cost.
The Soul's compact size brings practical advantages that often go underrated. Working on a smaller vehicle simplifies storage, makes manoeuvring in confined test environments easier and reduces insurance and maintenance costs. For university teams or individual developers with limited space, those practical considerations can be decisive.
OSCC is not tied to the Kia Soul forever, though. The project's modular architecture was designed from the start to make porting to other vehicles straightforward. The clean separation between the high-level API and the vehicle-specific firmware means adapting OSCC to a new car mainly involves understanding that car's CAN architecture and adjusting the modules accordingly. Versions for the hybrid Kia Niro were announced as well, gradually widening the catalogue of compatible vehicles.
How to install OSCC on your vehicle in practice
Installing OSCC calls for real technical skill, but it stays within reach of a capable enthusiast with some knowledge of electronics and car mechanics. The full process usually spreads over several days of careful work, and the exhaustive documentation the project provides guides users through each step.
The first phase is acquiring and assembling the hardware modules. The complete OSCC kit includes several custom Arduino boards with their specialised shields, designed specifically to interface with the different vehicle systems. These boards come either as ready-to-solder kits from partner suppliers, or the plans let you make them yourself if you have access to PCB fabrication services. Assembling the boards calls for basic soldering skills.
Compiling and flashing the firmware onto the Arduino modules is the software step before physical installation. OSCC uses CMake rather than the standard Arduino IDE, which gives more flexibility and makes complex projects easier to manage. The build commands stay fairly simple once the development environment is set up, and anyone comfortable with C and C++ on embedded targets will find familiar ground. The OSCC GitHub repository includes all the necessary scripts and detailed documentation of the build process for different platforms.
Physically installing the modules in the vehicle is the trickiest phase, since it means partly removing some interior panels to reach the right connectors. The steering module connects to the steering wheel torque sensor, usually accessible once the panels below the wheel come off. The throttle module plugs into the pedal position sensor. Fitting the brake actuator on petrol versions takes more mechanical work, as the device has to be physically mounted on the braking system.
Careful wiring of all the modules back to the central CAN gateway demands attention and method. OSCC provides complete wiring diagrams showing exactly where and how to connect each wire. Using automotive-grade connectors and protecting the cables properly against abrasion and heat keeps the system reliable over time. Sloppy wiring is the main source of the frustrating intermittent faults that show up during later testing.
Validating and calibrating the system once installed requires progressive testing under controlled conditions. OSCC includes test modes that exercise each subsystem individually before full control is enabled. Starting by reading the sensors without sending any control commands confirms that communication works. Moving on to gentle steering, throttle and braking commands while staying ready to take over manually lets you find and fix problems before they become dangerous.
Why safety comes first with OSCC
Turning a car into a computer-controlled vehicle obviously raises major safety questions. The OSCC developers built in multiple layers of protection to minimise the risks inherent in this modification. Understanding and respecting those safety mechanisms scrupulously is crucial for anyone working with the system.
Detecting a driver takeover attempt is the first line of defence. Every OSCC module continuously watches for signals that a human is trying to take manual control. If the system detects pressure on the brake pedal, significant torque on the steering wheel or a manual acceleration attempt, it deactivates immediately and hands control back. The feature is enabled by default and can be configured, but disabling it entirely is strongly discouraged.
An external emergency stop button provides an instant physical cut-off if something goes wrong. This easily reachable switch cuts power to the OSCC modules, immediately restoring normal vehicle operation. Positioning that button within immediate reach of the driver and front passengers before any experimentation is basic common sense. Some users fit several emergency stop buttons at different points in the cabin.
The unit tests and property tests shipped with OSCC help verify that the firmware behaves correctly before it is deployed on a real vehicle. These automated tests exercise different scenarios and edge conditions, catching potential bugs in a safe simulation environment. Running the suite systematically after any code change, before reflashing the modules, is essential practice.
A controlled test environment is an absolute requirement during the first experiments. Testing OSCC on public roads before its behaviour has been fully validated would be criminally irresponsible. Empty private car parks, test tracks or closed private land are the right places for initial testing. Moving gradually from very low speeds to higher ones, once reliability is established, keeps the risk of an accident down.
Legal and regulatory documentation varies considerably between jurisdictions. In many countries and states, modifying a vehicle's control systems can breach automotive safety regulations and void insurance. OSCC is explicitly presented as a research and development system intended for off-road use. Checking the legality of your specific project before starting, and obtaining the necessary permissions, avoids potentially serious legal trouble.
How OSCC fits into the autonomous vehicle ecosystem
OSCC does not work in isolation but slots into a wider ecosystem of tools and technologies for autonomous vehicle development. That interoperability is one of the project's major strengths, since developers can combine OSCC with other open source solutions to build complete systems.
Integration with ROS, the Robot Operating System, is probably the most important connection OSCC offers. ROS dominates robotics as a development framework, with libraries for perception, path planning, localisation and many other functions essential to autonomous vehicles. OSCC provides a ready-made ROS node so developers can control the vehicle directly from their ROS stack. That integration simplifies building complete self-driving applications enormously.
OpenXC complements OSCC by providing a standardised interface for reading vehicle data through OBD-II communication protocols. Where OSCC focuses on sending control commands to the vehicle, OpenXC makes reading the car's many sensors and internal states easier. Combining the two projects creates a complete bidirectional system that can both perceive the vehicle's state and control it.
Simulation tools such as CARLA or Gazebo allow self-driving algorithms to be developed and tested in virtual environments before deployment on a real vehicle fitted with OSCC. CARLA in particular is built on Unreal Engine, so some of what applies when choosing a game engine applies to choosing a simulator too. The approach cuts risk considerably and speeds up development cycles. Developers can iterate quickly on their algorithms in simulation, then move the validated code onto the physical vehicle with greater confidence.
External perception sensors โ cameras, lidars, radars โ usually connect to the main control computer running the self-driving algorithms. That computer then talks to OSCC over the CAN bus to translate high-level decisions (turn left, accelerate, brake) into the appropriate low-level commands. Separating perception and decision-making from vehicle control in this way simplifies the overall system architecture.
Which innovative projects already use OSCC
Since its launch, OSCC has inspired many research and development projects in universities and startups around the world. These concrete applications show how viable and flexible the platform is across different use cases, well beyond pure self-driving research.
Several university labs have adopted OSCC as their standard platform for autonomous vehicle research. Its affordability lets these institutions equip several vehicles for the price of a single commercial platform, which makes larger-scale experiments possible. Engineering students also gain hands-on experience with real hardware instead of being confined to simulation.
Autonomous vehicle competitions such as those run by DIY Robocars have seen entrants using OSCC. These competitions often take place at reduced scale with RC models, but some organisers now offer categories for full-size vehicles, where OSCC fits naturally. Events of this kind drive innovation and build a valuable community for exchanging knowledge.
Mobility startups explore OSCC to prototype new transport service concepts quickly. The platform's flexibility allows experimenting with different approaches to autonomous or assisted driving without a prohibitive initial investment. Even if those companies eventually move to more robust commercial solutions for large-scale deployment, OSCC speeds up their initial research and development phase.
Makers and technology enthusiasts form another community of OSCC users. These individuals build personal projects ranging from simple remote control demonstrations to autonomous parking systems for their own garage. That diversity of applications, playful ones included, feeds back into the project through experience reports and code contributions.
Why contributing to OSCC benefits the whole community
The open source nature of OSCC means any developer can help improve the project. Contributions take various forms, from bug fixes to major new features, and every improvement benefits all users.
Extending support to new vehicles is probably the most requested contribution. The Kia Soul remains the reference vehicle, but adapting OSCC to other models widens the project's potential audience considerably. Documenting a new vehicle's CAN architecture, creating the right configuration files and validating the behaviour takes work, but it opens the door for every future user of that model.
Improving the documentation helps new users in particular. Clarifying obscure points, adding explanatory diagrams, translating into other languages or documenting specific use cases all lower the barrier to entry. These contributions, less technical than code, have a considerable effect on how accessible the project is.
Building auxiliary tools enriches the OSCC ecosystem. Graphical interfaces for visualising vehicle state, diagnostic utilities, automated installation scripts or integration libraries for different frameworks all simplify everyday work with OSCC. Shared with the community, these tools multiply the productivity gains.
Training platforms such as Itamde could develop specific courses on OSCC and autonomous vehicle development. Structured teaching resources of that kind speed up the learning of the complex concepts involved and train the next generation of engineers able to push the technology forward.
The self-driving revolution will not happen only in the secret laboratories of the technology giants. Open source projects like OSCC give a far wider range of people access to the technology, so a diversity of actors can innovate and experiment. That openness probably accelerates collective progress far more effectively than a closed, proprietary approach ever could.







0 Comments