Automating Software Updates with Connected Cars

Enabling car features without manual operations – in today’s dynamic IT and car industry process automation is the key to reducing costs during this process.


However, for many car manufacturers updating a piece of faulty software still means recalling 10,000 cars in an expensive logistical nightmare because the hardware has to be physically accessed.


A client of Concept Reply faced a similar problem: In order to enable a new feature on a car, a technician needed to spend 45 minutes coding via the CAN bus with special hardware and software tools. Concept Reply helped solve this issue by enabling the car sharing module inside the vehicle to execute the coding procedure independently.

Making the module “smart”

Initially there were two possible approaches in order to automate the process:

Option 1:

have the client’s servers orchestrate the tasks and the car sharing module act as a mere CAN bus interface

Option 2:

have the car sharing module orchestrate the entire process after only receiving an archive from the client’s servers. This meant the module had to be made “smarter”.


For the client option 1 would have meant implementing a complex array of services on their servers so they could manage real-time interaction with every vehicle - a time-consuming task which required good network connectivity for each car during the remote coding process.

Therefore, in cooperation with the client, Concept Reply decided on option 2: The client’s server should merely have to generate an archive with the data needed for the car components. That should enable the car sharing module to independently orchestrate the coding process by downloading the information and writing the changes on the CAN bus while continuously validating the data as well as reporting status changes and errors.


The new coding process

  1. The fleet manager triggers the coding start via the server frontend, choosing the Vehicle Identification Numbers (VINs) and creating a list of changes.

  2. The client’s server generates the data archive. When finished it informs the car sharing module.

  3. The Android subsystem integrated in the car sharing module downloads the archive, extracts the files, checks them for integrity and then informs subsystem “S”.

  4. In the car sharing module, the embedded subsystem “S”, which is connected to the CAN bus, starts the secure coding process: fetching the data from the Android subsystem piece by piece, writing it to the CAN bus and validating the task. The status is permanently reported to back-end servers.

  5. Once the coding is complete, the car sharing module reports the final state to the client’s server.


The achievements

Concept Reply successfully delivered a remote, automated car coding solution by configuring the hardware for the coding process while managing all security requirements. As a result, it enabled the car sharing module to manage car features and give comprehensive status and error reporting during the process with robust verification and fallback mechanisms.

This removed the manual interaction with the vehicle from the coding process. Now managing features on a connected car takes the client only two minutes instead of 45.

This way not only the client’s costs when customizing vehicles are reduced but development time for new software features is faster as well.