Visit to Millwood for Flat-floor and Stalling Problem ECU Reset

So, after over 2000 miles in the car, it was time to address one of its biggest niggles… low temperature stalling.

Ever since I’d built the car it would stall at low engine temperatures. It would stall as I sat on the drive putting my harness on, it would stall at junctions for the first 4 or 5 miles and it would stall if gear changes were taken too leisurely. It needed a good 90-95C showing on the temperature gauge before it would idle anything close to ok. And even then it would occasionally stall when I de-clutched at junctions or changing gear.

The car was a real PITA to drive for anyone else and the final straw came when a co-pilot had a minor shunt after he’d stalled when pulling away from a junction – new rear wing needed! I’d got a few other events in 2019 set where other people would be driving the car and so it needed to get sorted.

What Needed to Get Done?

By this time I’d convinced myself that the car needed an ECU remap, it seemed as though the ECU was failing to “catch” the drop in revs as the engine speed dropped on a de-clutch when it was cold. But it also stalled when started from cold, so something was afoot!

I had the tick-over set at about 900 rpm, so I didn’t think it was that. I could certainly stop the stalling by increasing the tickover to something more like 1200 rpm, but that seemed like too much of a workaround. What seemed to make things worse was the light flywheel action… revs seemed to drop too quickly for the map to react to the drop.

Now, Caterham’s supplied ECU mappings don’t get a good rep on the internet forums or Facebook. And because the ECU map is locked then you need a new ECU if you want it remapped. That was going to set me back at least £500 for an ECU plus the cost of getting it mapped, probably on a rolling road. And of course all the talk on the internet had convinced me that this was what was going to be needed.

Then in a rush of common sense, I decided it would be a good idea to get someone who knows what they’re doing to have a look. But who?

Millwood Caterham

I don’t have a great deal of experience with Catherham servicing so I turned to the Internet for help. It seems that The Two Steves, Dave Gemzoe or Northampton Motorsport would be good places to go, especially for a remap. But I wanted something closer to home and hopefully less expensive.

I got the car from Williams originally and they had done the Post Build Check. I don’t have anything against Williams, but the fact that this stalling problem had not been picked up at the PBC and the desire to try someone new, led me to Millwood in Dursley, Gloucestershire. I gave Eric a call at Millwood and the car was booked in about 2 weeks later, early June 2019 (Eric was away for part of that time so couldn’t be any earlier).

Here’s their promo picture from their website (…

Millwood Caterham (courtesy of their website)

I turned up to Millwood after a quick early morning run up the M5. Millwood’s showroom is not particularly difficult to find but it’s tucked away behind a petrol station. The showroom probably holds about a dozen Caterhams and has a single bay workshop at the rear of the place.

Eric was working on another car when I arrived but was straight out to meet me and we got into talking about what needed to be done.

Because the stalling was only really happening when cold we decided to have a go at a flat-floor setup to let the car cool down a bit before looking at the stall problem. So, we rolled the car into the workshop bay and onto the 4 mobile weight scales.

Eric doing some measuring before putting the car on the scales

Flat Flooring

Now, of course, I’m new to all of this, so if this is all old-news to you then you might want to skip ahead. Or, if I’ve got it wrong then let me know.

But for the novices amongst us, the idea of a flat-floor setup is to get the weights of each corner of the car about equal when you’re sat in it. It’s a bit of a misnomer that this has to be perfect, as the weights are going to change as you corner and the desired setup’s going to need to change if you’re tracking the car, depending on the circuit and for instance whether it is a clock-wise or counter-clock-wise circuit (more rights or more lefts respectively).

Eric was working on getting the left and right sides the right height and then diagonal weights about equal. With me sitting in it, clearly the LF/RR diagonal was going to be heavier than the RF/LR diagonal, but he thought my car was about as good as we were going to get. He changed a couple of the damper settings a little, but not that much in the end. It didn’t seem as thought Eric has a particular set of ratios or settings in mind, he looked at what the first set of readings were and worked from there. Though maybe I’m doing him a disservice!

He did give the front OS a 0.5 degree toe-in which he says helps with road driving and steering feel a bit, but I might not notice much. I also had about 7Kg of tools and “emergency” stuff in the boot which we had to remove.

Here are the eventual weights:

Top set are with me in the car and the tools still in the boot. Middle set of weights is without me sitting in the car, bottom set with me in it (both middle and bottom set have the tools removed). There’s around 20L of fuel in the car.

and here’s the machine:

Weigh Scales

Now, to interpret the (middle set) of weights, the LF, RF, LR and RR are obviously each corner weight. The “Left 49.3%” is the LF and LR added together and taken as a percentage of the total weight of the car:

(148.0  + 156.5)  / 617.5 = 49.3%

It’s slightly heavier on the right… not a surprise, the exhaust system and steering column are on the right for a start. The “Rear 50.6%” is the Rear/Front split, which is a lot more even than I thought it would be, I thought it might actually be front heavy, but the engine is quite a way back in the frame I guess. Then the “CR 50.7%” is showing that the LR/RR diagonal is 50.7% of the total weight.

I was a little surprised at the 617.5Kg total weight. With about 15Kg of fuel (20L) and we assume 210bhp, then we’re actually at about 350bhp/tonne. Still respectable but not the headline 420bhp/tonne that Caterham would like you to think. On my car its the heater, leather seats, carpets etc that are all adding up.

It’s also interesting that with me sitting in the car, 75% of my weight (67Kg/89Kg) goes to the rear of the car. That makes sense of course, I’m sitting way closer to the rear wheels than the front, but its interesting to put a number on that. And almost the same can be said of my weight being added to the right (63/89 = 70%), again making sense but interesting to see the numbers.

After a few tweaks that was the suspension set up. Eric only dropped the front slightly in the end (about 5mm) and adjusted the dampers slightly to get the diagonal weights as seen in the last set of readings. It would take the ride home in the car to tell if anything felt different.

Stalling Problem

Now onto the stalling problem. Eric sat in the car and fired it up. It died. He fired it up again and it died again.

So Eric has seen on ton of these and he went straight to what he thought the problem was. He set about adjusting the tickover to be just below 1000rpm. Doing this reasonably quickly so as not to warm the engine up. That took a minute maybe.

Next Eric sat in the drivers seat and turned on the ignition, disarming the immobiliser and proceeded to repeatedly turn the ignition from position 1 to position 2. I’m pretty sure it was 1 to 2 and back again, rather than 0 to 2 and back, but I’ll have to check that.

As he was doing this he explained that the ECU often gets the “zero” position of the throttle potentiometer incorrectly set. If you play with the idle screw or if it becomes mis-configured (he didn’t go into why that might happen) then you need to go through this procedure again:

So the ECU reset procedure for a factory Duratec should be:

  • Set the idle tick-over to just less than 1000rpm (I’ve heard that Catherham suggest 950)
  • Turn ignition to position 2 and immobilise the car
  • Repeat ignition position 1 to position 2 and back again 10 times

This procedure tells the ECU to remember this new potentiometer value to be the zero “home” position for the throttle. It may also do other things like reset the TPS sensor and do things with the Lambda sensor but I’ve found no discussion on the internet yet about that for Duratecs. Also note that this seems to be a different procedure than for K-Series cars – with those there’s a procedure that involves depressing the throttle 5 times while the engine is off but the ignition is on (see Google for exact instructions).

Once Eric had done this he fired the car up again and it didn’t immediately die. It tried to a couple of times but after a couple of quick blips to the throttle it sat idling, better than it had ever done cold.

And that was it. 

While all this was happening, Eric and I had drunk coffee and talked a lot about the history of Millwood: how they used to be the Caterham dealership until Williams took over, how Eric used to be the 2nd for Burns in the WRC and how he and Jon had come to an agreement that Eric would work for Millwood after giving up his separate servicing business (seemed to be a lot of running of various rally cars for himself and for privateers since leaving Subaru).

We finished up and I set off home again after being there for about a couple of hours.

It’s also interesting to note that while I was there, Eric took a couple of telephone calls and helped those people out. There was also another customer that was negotiating a crisis that showed up and Eric helped out while I was there too. There didn’t seem to be any formalised process for this, just helping customers with their cars.


As I write this, I’ve put another 700 miles on the car in about 2 months since visiting Millwood. The car now feels more “sure footed” in corners and less dithery on the straight ahead, that was noticeable within the first 200m of leaving Millwood. I suspect that’s the toe-in that Eric didn’t think I’d feel much. The steering is probably a little heavier and there’s more confidence in how it drives and on straights it seems to stay on-track rather than wandering around like it did before.

As for the stalling. It’s much, much better. But still not perfect. It takes a couple of minutes of warming up in the mornings now before it will not die at a junction. Also the occasional stall at a junction and between gears has almost completely gone. I’m going to try the reset procedure again myself when the engine is really cold, see if that makes difference.

It’s also so much more pleasant to drive. I hadn’t appreciated how much low down go the car has. I can now happily do a rolling drive through a junction without having to heel-and-toe and slip the clutch. It pootles around town now without the kangarooing I was getting and I often short shift, missing a gear now from 2nd to 4th or 1st to 3rd, because its so much easier to drive.

This all now makes complete sense, if the ECU doesn’t know where the throttle is then it’s not going to be able to set the correct mapping.

For the moment, the need for a remap has gone. I still find it a bit unnerving how the engine revs drop so quickly when de-clutching, but at least the ECU catches the drop now before a stall. The light flywheel is also a pain if you want to pootle – gearshifts have to pretty quick not to need a blip going up the gears and if you’re too quick you’ll beat the gearbox and crunch a gear.

The clutch is also still pretty fierce and there’s not much to be had from starting off in 2nd (unless you’re on a down-hill) seeing as you’ll burn the clutch trying to make a clean getaway. So, for me, always start off in 1st, make sure your gear changes are quick, but not fast, and keep it in a higher gear around town. A quick point about that, in Bristol where I live, almost everywhere is set to 20mph, there’s very little point in attempting any spirited driving or else you’ll loose your license. I’ll leave the spirited stuff to some safe open roads and the track.

FWIW, I always heel-and-toe the throttle on a downshift – with that engine burble, why wouldn’t you. It’s also how I drive all manual cars, so why not this one.

In the end less than a couple of hundred quid for some time with an expert, a coffee and a chat was well worth it from my perspective.

Millwood are highly recommended.

[ PS: Thanks to Mark from for spurring me into action and getting some more posts out. He’s got a great site by the way]

The Wiper Motor Fuse… and Test Rig Overkill with a Logic Analyzer

Drip, drip, drop, click, bugger!

… or in other words… rain… followed by another wiper fuse blowing.

The Story So Far:

For those of you that need a recap, I’d tested the wipers in December, prior to the IVA (Individual Vehicle Approval) test, and they had also been tested by the dealer that sold me the kit, Williams, at the Post Build Check. However, on the morning of the IVA, at 7:30AM, just as the heavens opened, and as I was pulling off our driveway, they stopped wiping and just sat still. I had to drive to the test centre, getting wet and knowing that with the wipers broken I was heading for a certain failure.

We did get them going again during the IVA but only with the help of a very considerate examiner and a spare fuse.

Driving in the rain with no wipers and my head hanging out the side of the car

Since then the wiper fuse has blown a total of 4 times, not a big problem, mainly because I was intrigued as to what was going on and was increasing the fuse size as each new fuse blew. A couple of the times it blew was when I was testing, but it also blew a couple of times when it mattered and I had to drive in the rain with no wipers. But fortunately, I had decided to carry spare fuses after my school-boy-error of not taking any to the IVA test.

Blown 10A Wiper Fuse

Well, of course, the standard response to any fuse failure is to adopt the age old course of action: throw in a bigger fuse and see what happens!

As the fuses kept blowing I’d managed to “do in” two 10As (factory fitted), two 15As and then finally found that a 20A held. I was still rather in the dark as to what was actually going on though. Was there a current spike that was “just about” holding with a 20A? Or was it more of a sustained current draw that was within the limits of this 20A… and of course, why do I need a fuse that’s double the factory fit item?

2018 Catheram 420R Fuse Box and Relays – there’s a 15A fuse in the topmost wiper motor fuse position

[ Note: the image above has an RDX relay where the standard indicator relay should be – that’s another story but relates to new LED indicators, brake, reversing and fog lights… but that’s another story ]

Now, sticking in a 20A is not quite the bodge-it-and-scarper approach that it would be to use a piece of tin-foil across the fuse terminals… as had been suggested by some, but it was close.

I went through a bunch of possible options that might be causing the problem. Clearly there was too much current being drawn as the wiper motor started. But I couldn’t imagine Caterham fitting a 10A fuse when they knew there was a startup problem with the motor… or could they? Of course this could be a defective motor, or there was some inrush current protection missing from my car.

Other options I thought of mainly revolved around the mechanical linkages getting “bound” and causing a higher than normal stall current in the motor. If that were happening then it would probably happen at some point no matter how long the wipers had been running… i.e. it could bind at a particular point in the cycle but it could take a few cycles before the problem showed itself.

That didn’t seem to be what was happening…. the fuses seemed to all blow when the wipers were first switched on… and more than that, at the very point the wiper switch was flipped. It did catch me out once when I thought that wasn’t the case, but in the end I decided that I had gone from slow-wipe to fast-wipe and the wipers had stopped mementarily in between those modes – so inducing a “start condition”. It seemed to me that if it was a mechanical bind then at some point in the wiper motion there would be a sticky point and the current would increase there. But it doesn’t feel like that’s what’s going on.

Ok, so it’s probably something to do with startup current. But how am I going to see exactly what’s going on. Hmm. A volt-meter or ammeter isn’t going to be able to tell the story at the split second when the wipers start up. I could use an oscilloscope but the only one’s I’ve got are 15+ years old and are not the sleek slim LCD units you can buy these days. I’ve also got some similarly old logic-analyzers that I could have broken out, but they too are bulky and difficult to extract data from to include in this blog. Very Web 1.0.

Bring on the Salaea Logic Pro 16. My modern way of doing oscilloscope and logic analyser work is to use the logic/analogue PC dongle from Saleae. They come in different sizes, i.e. inputs, speed and colors. I have the 16 channel Pro version in a fetching anodized red.

Saleae Logic Pro 16 – In Red

Salaea can be found at

The Salaea 16 Pro is an great bit of kit. It plugs into a USB socket on your PC and can deliver up to 500Ms/s (mega-samples per second) logic acquisition and 50Ms/s analogue acquisition all from a box that fits in the palm of your hand. Each of the 16 channels can be set to logic or analogue acquisition and the whole thing also takes its power from the USB bus, so only needs a single cable. I only need a single analogue input for this investigation, but nice to have 15 backups!

I think for the higher acquisition rates you need to have a USB 3 port on your computer but for what I needed in this project, USB 2 was going to be fine. It’s also really tiny so hooking it up to a laptop meant that if I wanted to I could “go mobile” and connect up the rig to the car as I drove around. In the end I didn’t need that, but it was always an option.

On the PC side of things… I’m a Mac sort of person, so I had the Salaea hooked up to a Mac Book Pro. That’s way overkill for what I needed but if I wanted to “go mobile” I would have broken out an old MacBook Air or something.

Salaea are beta’ing (as I write this in April 2018) a live capture mode too… the current release of software only lets you see results once a capture has run. Again, that’s fine for this project but I’m looking forward to finding other projects where I can use that feature.

Logic Analyzer Setup

That’s the tool sorted, now how do I connect it to the car.

Hmmm… So… I’m looking to get current measurements of the wash-wipe circuit. I either need to put an ammeter type device in series with the circuit or I need a current probe. I don’t have anything I can connect to the Saleae that is like an ammeter or that I could construct… to do that I would need an accurate and low resistance that’s in series with the motor and that I could then measure the voltage drop across. We’re talking about 10 or more amps here so the resistance would have to be very low – or else I’m going to be affecting the measurements by adding more power draw and voltage drop. I didn’t have those sort of components to hand.

My solution was a current probe. I have a 0-20/0-60Amp dual range current probe that generates a 10mV/Amp and 100mV/Amp in it’s two ranges. For a load of less than 20A (my 20A fuse is holding, so I’m interested in less than 20A draw) the lower current range of 100mV per amp should do nicely.

For those not familiar with current probes, they measure the net current flowing through any wires passing through their jaws. The effect is an electromagnetic effect that we won’t go into here. However, the result is that the net current flow produces a proportional voltage response on the probe’s output.

Pico TA018 Current Clamp

My next problem was that the current probe has a BNC connector on the end. That’s fine for the old-school oscilloscopes but not what the Saleae needs. It uses 1/10” headers for its input and has breakout leads that can hook up to 1/10” headers or at a push bare wires. I was unlikely to need the BNC connection type again, so… off with its head!

I could have made a BNC to 1/10” converter cable, but I was feeling lazy. That being said I also couldn’t just hack off the ends, I did need to at least provide something a little more professional – OCD, moi?!

BNC Probe connection replaced with 1/10th” header connectors

Back on the Saleae side of things, it’s analogue inputs are configurable up to a maximum input voltage of 3.3v. So, with 20A and 100mV/A, I need a voltage range of 0-2V – that’s perfect for the Saleae. Bostin!

Now I need to figure out how to get the current probe clamped around the wiper circuit input. Hmmm (again)…

I dangled myself into the passenger side footwell hoping that the wiper motor wires were accessible – they weren’t. The wiper motor is tucked up under the passenger knee panel. Hmm. I could of taken the knee panel off but I was feeling lazy, as discussed above.

This is what a Caterham Wiper motor location looks like

What about getting the probe on the back of the fuse panel. That had been the plan all along. But there wasn’t a lot of room there either. I’d probably have to unbolt the fuse panel to be able to get at it. Hmm.

Then came a eureka moment. I’m sure this is something that old hands know all about and use all the time. But I was pleased I worked it out myself… Use… a… modified… fuse (as pictured above).

You’re regular automotive fuse is essentially a plastic molded holder for the fuse wire. My plan was that I could nibble away at the end plastic of a blown fuse and insert a wire loop that I could get the probe onto. It has to be a “blown” fuse or else my wire loop will only be in parallel with the fuse wire and I won’t “see” the full current in my probe. Then, once I have this fuse Frankenstein, I can pop it into the fuse socket for the wipers and attach my probe.

Here’s the modified fuse…

Fuse with added wiring loop.

I could probably do a neater job than this second time around if I had another go – but it will do. I had to file away some of my soldered connections so the fuse would fit back into its holder and the wire loop got caught on the soldering iron at one point and so I lost a bit of the insulation – it’ll do!

And I also probably would have got the measurement done faster if I’d have taken the knee panel off… but lazy doesn’t mean lazy in all respects. When there’s a Eureka plan to hatch then lazy goes out of the window!

And here it is in the car with the probe attached.

Current probe attached to (wrong) fuse position

Now to take some measurements.

After a false start where I actually started to probe the wrong fuse, I finally found the right fuse (it’s tight up in that fuse box), and got to taking some measurements. I set the analyzer to 5ks/s and the full 3v3 input range. I didn’t need a lot of either time or voltage resolution… I was sure that anything that was going on was happening at the ms (millisecond) scale and not at the nanosecond scale. I was mostly right.

Scope output – ignition on then 4 cycles of wipers

The image above is a screen shot from the Saleae with the probe being connected into the wider fuse socket. The first spike is the ignition being turned on. Then we see a big spike where the wipers are turned on. There are then 8 “bumps” showing the wipers making 8 sweeps (4 cycles of left then right). It’s not totally obvious to me why there’s a spike associated with the ignition switch being activated – though I assume its something to do with the wiper reverse/park, there’s a momentary energising of the motor as the park circuit decides that the wipers are in deed parked.

But we’re interested in the big spike…

Initial wiper motor in-rush spike – medium zoom

We can see that the initial in-rush spike is large but also drops very quickly only to be followed by a wider almost the same amplitude second wave of current.

If we zoom in on the initial spike we can get a current reading…

Wiper motor in-rush spike – high zoom

The 1.657V shown on the image indicates 1.657 X 10A (100mA/V), or 16.5A.

Ok. Problem identified. The motor is drawing some 17A for about 0.6ms then almost the same for a much longer period. The shape of the curve is a little odd, there’s clearly a decay going on here followed by a cut-off, so I suspect the current peak is a lot higher than what I captured. This is firmly in line with the stall current theory, the magnetic fields build quickly and the current would be infinite if it wasn’t for the resistance of the windings. But in a real motor the currents aren’t infinite – luckily. Phew… my 3 years of university motor and electro-mag theory are paying off! Time to dissect the time… and up the sample rate a bit.

So, we’ve got a current spike when the wiper motor starts. That’s normal. And at the time scale that a wire fuse is going to be worried about (millisecond duration) the current draw is around 17A. The question is still: why is it so high?

There’s some writing on the side of the motor that shows what looks like a “14W”. I’m not sure if that’s relevant but I’m clearly going to need to do some more investigating. Especially if the motor is 14W… the 17A startup current and the ~7A running current are way bigger than 14W. For those interested, 17A x 12V = 204W. You can do the other calculation if you like, consider it homework. That wold be 1/3 of a horsepower at stall… while that’s feasible, that’s not going to be needed to drive two small wiper arms I don’t think.

One of the causes of the large spike, could be that the motor is faulty or at least the windings are at the low resistance side of a manufacturing tolerance. I’m certainly not going to be taking the motor apart to dissect it, but I might put a ohmmeter across the terminals if I take it out.

Perhaps I still also need to look at the mechanical side of things. The wiper assembly shows the motor attached to a gearbox and then through a bar to two worm gears that drive the blades themselves. Maybe the gearbox is dry or the worm gears need lubricating. It should be simple to get some lubricant on the worm gears but getting the motor and gearbox out will have to wait for another day.

The only other option I can think of at the moment is that there should be some sort of shunt across the motor to dampen any inrush – perhaps that’s faulty, missing or not designed for.

Next steps are to see if this is a common problem that I hadn’t been able to Google on Blatchat… and to do some digging to see if there are any clues on the Caterham supplied wiring diagrams (though I’m less than confident that they reflect how my car is actually put together).

So, what’s going on?

Well, I guess I still don’t know. Though I know more detail on what’s going on at the current level.

And of course leaving the 20A fuse in place isn’t really a great option. The fuse is there, obviously, to protect against over-current. And with the stall current being below the fuse rating I have in there now, then a stalled motor isn’t now going to blow a fuse. I guess if the motor does truly stall then it’s going to get rally hot too… that’ll reduce the resistance of the windings enough perhaps to increase the stall current and blow even the 20A fuse. But that’s perhaps just wishful thinking… there’s a lot of metal in a wiper motor and it will take a long time to heat up and even then I doubt the winding resistance will fall low enough to blow the fuse. If I had a spare wiper motor I’d probably try that out – sounds like an interesting experiment.

More to come…

PS: This post was written in April of 2018 but for various reasons has only been posted now (June 2018). In the intervening time I’ve not had a chance to look any further at the Wiper Motor problem but my 20A fuse has held. Hopefully I’ll get a chance to look some more at this at a later date and report back.