Toyota Prius

How to get 100mpg from your car

Discover how a Toyota Prius went from only 60mpg to 100 mpg.

As the automotive X Prize gets underway in the US, I will talk you through how to modify your own hybrid vehicle to achieve 100mpg.

The interesting thing about the Toyota Prius is that it can run for a limited period as an EV, however with the NiMh battery pack the electric motor can take the car only about one mile at less than 31mph. I wanted to reduce the fuel consumption of the Prius from 60mpg to 100mpg, a massive cost saving, by the addition of a large Li-ion pack.

How it works

The Toyota Prius works as a normal car with the addition of an electric motor/generator in the drive train. When the driver needs to slow down the brake pedal puts the 'motor' into generator mode, which charges the battery up. Conversely at low speeds the motor is used to assist the conventional petrol engine, which decreases fuel consumption.

When I started the project, a few groups in the US were experimenting with supplementary battery packs to increase the range of the Prius. The Toyota, along with most modern cars, has a very complex electronic control system. The part that deals with drive and battery management uses CAN bus. The operation of the drive among other things is based on the State Of Charge (SOC) of the battery pack. If the SOC is low the management system will recharge when descending a hill, braking or use any surplus energy from the engine. If the SOC is high then the battery pack will be used to drive the car at low speed or to supplement the engine when driving, climbing hills or overtaking. In practice, the SOC is moving about the entire time dependant upon traffic and driving pattern.

I saw two main problems in adding a large battery pack in parallel with the existing battery. The first was: what would the reaction be from the Toyota management system if, out of the blue, the existing battery started receiving charge from an outside source - the second battery? The second problem was: how to control this external charging source?

The control system needed to be such that the existing batteries' SOC could be manipulated so that the Toyota management system saw a high SOC and used the battery instead of the engine wherever possible.

The first problem was simple. I connected my EV charger across the Toyota battery pack and charged the pack. The SOC increased up to fully-charged (about 80 per cent SOC). The battery manager took into account the pack temperature and voltage and computed the SOC quite happily.

So, solving the second problem - transferring energy to the Toyota's battery - was the main area of work.  


I first converted a car to purely electric operation in 1999 and, after several improvements, particularly to the battery pack, the car was moderately successful. I was generally able to travel about 50 miles on a charge and considerably more if care was taken. The car completed the London to Brighton Electric Vehicle (EV) Run in 2005 and 2006.

Unfortunately, the Achilles heel of the EV is still the battery pack. With low cost, traditionally lead acid batteries the range is severely limited and a long, cross-country run must be planned like a military campaign. There must be charging points every 50 miles or so and you need to stop for a couple of hours at each to restore some charge.

I started looking at the hybrid cars that were available and the Toyota Prius in particular.

Circuit details

I was lucky enough to have acquired a set of 56 Thunder Sky Li-ion cells, which I could use as a second battery.

These are connected in series to give a resulting DC voltage of around 210V and more than 50Ah. The Toyota's NiMh battery produces around 240V DC so I knew that I would need an inverter to allow the additional battery pack to charge the Toyota's own battery.

In addition, I wanted to be able to recharge the li-ion batteries overnight so I needed a recharge circuit. I also needed a circuit to control the flow of charge into the Prius's own battery.

The means of connecting the extra battery pack to the existing pack was by using four single-pole, high-voltage power contactors and a high power dc/dc converter.

The DC-DC converter is actually a battery charger that has a bridge rectifier as the first component to convert the normal AC mains input to DC. Of course, you can just feed it with DC. The DC-DC onboard converter is used to charge the Li-ions if required, but that's another story.

The converter had a two stage, selectable output. In high the converter would try to lift the existing pack to a high voltage and thus a high SOC.  In low this voltage was lower and allowed the existing pack to lose charge letting the SOC% to fall back.

The output of the DC-DC converter is controlled by switching in one of two sets of points. When the battery is being charged overnight it is isolated from the Toyota circuit

The NiMh to Li-ion battery contactors would be energised the whole time, during vehicle operation, until the extra battery pack was fully discharged and no longer able to contribute - at which time the batteries were disconnected.

Controlling this system meant hacking into the Toyota CAN bus system.

The car has many devices on the CAN bus network and fortunately they all broadcast their data onto the bus. The devices that need the data read it and react accordingly. As far as I am aware no device solicits information from another device. What was needed was a custom CAN bus device that could read parameters on the system and move charge into the existing battery pack at the right time.

At this time I read an article in Elektor on Flowcode (February 2006). This referred to a CAN bus system consisting of two nodes of a network. From past experience with other bus systems, it can take a long time to get a system up and running.  I have a bit of experience with Microchip PIC devices and there is a wealth of information on their website on CAN bus. The data-sheet on the CAN interface chip (MCP2515) runs to 81 pages.

I ordered the Flowcode CAN system and saw immediately all the hard work of using the CAN bus had already been done. Setting up the parameters for the bus and reading specific messages is carried out by pre-written macro commands. Getting the communication between two points was very straight-forward.

In order to determine the CAN bus messages the Prius emits containing data on the SOC a Kvaser Light CAN to USB unit was used to look at the traffic on the CAN bus. There is a convenient OBDII connector with 12v power located just under the steering wheel in the Prius. There is some documentation regarding the messages on the bus on the Internet. The format of the data varies and a bit of manipulation is needed to convert the data to a form what can be displayed on an LCD.

With some idea of what I wanted initially from the bus, I set up a system in the workshop mimicking the function of the CAN bus in the Prius: one of the E-blocks systems continuously transmitted an SOC message in the same format as the Toyota message, the other system was set up as a display unit which showed the system parameters on an LCD display. This was used in the development and commissioning phases of the project on the bench, and fitted into the radio compartment of the car. The display shows the Battery Current, Battery Voltage (charging/discharging), State of Charge %, Charge Current Limit, Discharge Current Limit, Maximum Battery Temperature, Minimum Battery Temperature.

In this way the whole system could be built up and tested away from the car. The second stage of the program used only one of the items (SOC%) and gave out one of two outputs, high or low, depending on the value of SOC. In order to maintain the existing battery SOC at around 70 per cent, a simple pair of decision instructions in Flowcode put on the low output if SOC% >70 (and disconnected the Li-ion cells from the charge circuit) and put on the high output if SOC%<65 (which switched the Li-ion cells into the circuit and charged the NiMh Prius battery). In each case the opposite output would be turned off.

One additional output was used to drive a relay, which in turn energised the four main contactors. This output would come on five seconds after the system powered up and would go off in response to the additional battery pack becoming discharged.

There was no need for a display on the final controller and this now lives in an enclosure in the boot next to the extra batteries and power contactors. The additional battery pack is a set of 56 Thunder Sky Li-ion cells. These cells are about two years old and vary in capacity, the worst being about 50ah at 20°C when discharged at 25 amps. The worst cell defines the pack capacity so with the current limit set to 25amps the car will run for two to three hours in assist mode until the battery pack switches off. The car then runs in normal hybrid mode as before.

This is the drawback of the system - these batteries are still very expensive, and physically quite large. If you were to buy these batteries new then the cost would be several thousand pounds.

Another drawback of the system is that the batteries also take up some of the boot space.


Come the summer the car will return about 60mpg in normal hybrid mode and about 100mpg in battery boost mode. Unfortunately, the Prius's read out only goes to 99.9mpg so you are a bit blind as to how well it's really doing. The image of the Toyota's display shows that the car has achieved at least 99.9mpg. However, last summer I was able to do a week or two at 150mpg, but in the winter it has definitely dropped below 100mpg with the cold weather. My wife also has a Prius, which is unconverted and her car does about 60mpg in summer, dropping to about 50mpg in winter, which gives a good comparison.

The algorithm that I use for putting power into the existing Prius battery is constantly evolving and things change when the weather changes, so everybody is searching for the optimum algorithm to get the best mpg.

It is easy to produce amazing figures because the car does an infinite mpg when the internal combustion engine is not running.

The fuel consumption figures, as with most cars, are governed by the cycle that the car is on. When in towns, the car returns far more mpg than when on the open road because you spend nearly all the time in the city centre on electric mode. In the US they have recently coined a phrase mpge which is equivalent electrical use as well.

From my point of view, it has been one of the most successful things that I have done, but it would be wrong to say that it will solve the world's energy problem.

Battery cost

Batteries currently cost about £1/Ah. The car is using batteries that are three years old. The advantage of a hybrid vehicle is that you can use batteries that have very little Ah capacity because you are not going to get stranded with them. If you want to go a long way in an electric vehicle - even for a range of 100 miles, you have to plan it very carefully, whereas with a hybrid you just get in and drive it. When the battery is depleted it just changes to its petrol engine and uses its regeneration system to charge its own hybrid battery, which is quite small.

To provide batteries for your own Prius hybrid would cost from £2,500 up to £15,000. Most of the cells are either manufactured in Taiwan or China and nearly all the world market is in dollars, so we have benefited in the UK. There is also a patent war where companies are developing variations on the technology. Prices are also coming down as volume picks up and competition increases.

Recent articles

Info Message

Our sites use cookies to support some functionality, and to collect anonymous user data.

Learn more about IET cookies and how to control them