Advanced Software

A Silicon Valley approach to vehicle softwareA Silicon Valley approach to vehicle software

One of the greatest benefits of starting a revolutionary car company in the heart of Silicon Valley is the direct access to the best and the brightest software engineers in the industry. The advanced software (referred to as "firmware") in the Tesla Roadster is developed with an intense focus on rapid, agile innovation. With each mile driven by the fleet of Roadsters comes insight to fine-tuning the functionality of the Roadster systems.

The Roadster employs many processors to control functions the driver often takes for granted, from battery voltage management and motor control to diagnostics, door locks and touchscreen interaction. Many different operating systems and programming languages are used to optimize each processor for completing its designated function. The processors work together to monitor the status of components throughout the car, share information to coordinate action, and react to changing external conditions.

In-House Development

Roadster firmware is developed in-house by a diverse team of software engineers at Tesla headquarters. The small, closely-knit team is able to take an agile approach to development. What takes typical manufacturers three months to upgrade because of tedious negotiations between suppliers, the team can develop in three hours. Tesla can, and does, constantly improve the functionality of Roadsters on the road - each time a car is serviced, either at a Service Center or in the field, a Tesla Service Technician updates the firmware as needed by simply plugging the car into a computer. There have been instances where the team has developed software solutions to hardware problems introduced by outside suppliers. This ingenuity makes Roadster ownership an unique experience –if Tesla introduces new, more elegant lines of code, the owner benefits, no matter how old their car.

Vehicle Management System

The Vehicle Management System is like the conductor in a finely-tuned orchestra – it enables functions the driver is most aware of while driving. It manages the security system, opens the doors, communicates warnings ("fasten your seatbelt", "door ajar", etc), manages the owner's PIN, and initiates Valet Mode.

The Vehicle Management System compiles information from many of the other processors to coordinate the necessary actions for driving. When the key is inserted into the car, the Vehicle Management System turns on the touchscreen. When the key is switched to the ON position, the Vehicle Management System readies the car for driving by instructing other processors to initiate their functions. It computes available range and readies the Power Electronics Module to send power to the motor from the battery. The Vehicle Management System manages the driving modes (performance, standard, or range) and works with the battery processor to charge and discharge appropriately. It computes ideal and actual range using a complex algorithm that considers battery age, capacity, driving style, and energy consumption rate.

Battery and Charging Systems

The battery processors control temperature and voltage in the battery pack by monitoring more than 100 individual sensors. When certain temperatures are reached, the processor initiates heating or cooling. If the processor detects over-current, rollover, or impact, it electrically disconnects the battery from the rest of the car to isolate any potential high-voltage danger.

The Power Electronics Module processor manages charging. When the charge port door is opened, charging systems come online and begins coordinating with the Vehicle Management System. The Power Electronics Module is instructed to send current to the light ring in the charge port and white LEDs turn on. When the driver attaches the connector and slides the pilot switch closed, the lights turn blue. Once the connector is attached, the Power Electronics Module processor detects the current available from the wall and the Vehicle Management System checks if the driver had previously set charge preferences for the location.

When the car determines which level of current to use, the contactors between the motor and battery begin to close in a series of audible clicks. This function ensures that the high voltage from the wall does not flow to the battery until every connection is properly mated. The battery processor, Power Electronics Module processor, and Vehicle Management System work together to flash the LEDs in the light ring – if the battery is empty, the lights flash quickly. As the battery charges, the rate of flashing slows. When the battery is completely charged, the lights turns green.

The battery processors help preserve battery life if the car is plugged in for long periods of time by checking the state of charge every 24 hours, topping the battery off as needed to maintain a healthy State of Charge.

Torque Control

The Power Electronics Module processor also controls the Roadster when in drive mode. The processor monitors the accelerator pedal and uses the information to control current to the motor. To ensure that generated torque is appropriate for the state of other components in the car, many other processors outside of the Power Electronics Module monitor the status of the car and send outside requirements to the Power Electronics Module. For example, if the battery processor and Vehicle Management System calculate that the battery is full, regenerative torque is reduced; if the Power Electronics Module processor detects that the motor has exceeded an ideal temperature, current to the motor is reduced.

Remote Diagnostics

An additional benefit of Roadster ownership made possible by firmware is Tesla’s ability to diagnose a car’s operations remotely. If an owner feels something has gone wrong with their car, remote diagnosis enables the Tesla Rangers to determine the issue and a solution without direct access to the car.

The Roadster firmware contains a system that allows the car to “talk” to headquarters if the customer chooses. In the situations where customers have opted-in, the firmware team has used information transmitted to Tesla to alert an owner of a pending problem and constantly innovate Roadster firmware. System monitoring may not be available in all areas and is subject to change or discontinuation without notice.