2V Non Linear TPS Baseline Adjustment - Written 06/08

Summary: How to set up 2V throttle bodies with the Non Linear TPS.

Discussion of idle mixture setting for various ECU: P7 and P8, 1.6M, 1.5M and 5.9M.

Graph of Linear versus Non Linear TPS output showing the difference.



And on to the relevant info:

This report pertains to the non linear TPS fitted to all the 2V models prior to 2003, and from 2003 onward fitted to M620.

The non linear TPS is most easily identified by it having adjustment slots - these slots are covered with little rectangular washer plates under the screw heads - or by its markings. PF09 (907) and PF3C (everything else) are non linear TPS.

PF1C is the linear TPS fitted to 2V models. This linear TPS is reset by pressing / clicking the “TPS RESET” icon in the diagnostic software.

But that is not what we are doing here. This is about the non linear TPS, and at no point in the adjustment procedure do you press / click the “TPS RESET” icon.


Just because it has a 59M or 5AM ecu does not mean it has a linear TPS.

Already done it? Well, you’re not the first, nor will you be the last.

I had an M900ie 2002 model with the non linear TPS and 59M ecu come in with a TPS output voltage that did not match the degrees it was showing at all. The TPS was rotated all the way in one direction (high mV from memory) and the diagnostic was showing 3.1 degrees throttle opening. I flashed the ecu with the OEM file, and then the relationship between TPS mV output and ECU read throttle opening in degrees become much as I would expect to see. I then carried out the non linear TPS reset procedure as laid out here and after that everything else (CO trimmer, air bleeds, etc) became as expected.

Aside from flashing the ecu I can’t think of any way you can undo an electronic “TPS RESET” procedure performed on a non linear TPS ecu. Thinking about it some more, I flashed in a file with the same software number that I had previously read from another ecu. I’m not sure if reading the file out of an ecu and then flashing it back in will work as desired here. I’ve not tried that.

So, if you haven’t been put off or insulted (and even if you have), follow on to the 4V non linear TPS reset procedure. Multimeter, hand tools, diagnostic tool at the end for reading idle throttle setting and adjusting idle mixture.


The same throttle bodies have used on nearly all injected 2V from ST2 onward.  907 are very similar from memory, but I haven’t seen any of them for quite a few years.  Those pictured in the following report are from a ST2, and have IW031 or “green end flow” injectors.  The 750SSie and 900SSie also use these injectors.  All 620 (well, not all), 750Mie, 800, 900Mie and 1000 use the same throttle bodies with “Pico” IWP043 injectors.  These are smaller with a steel body and a brown plastic band around them.  They flow a bit more than the IW031.  There’s a photo of them below.

’05 or ’06 onward 620 use Bing brand throttle bodies.  These differ by having the balance screw (almost not) accessible from behind and no stop for the LH throttle blade.  So for these you need to set the idle TPS setting using the RH throttle screw after you’ve carried out the throttle balance (synchronisation).  You really need the air box out to do this.  That bit might make more sense later.  I’m not sure if later S2R800 or 695 use these throttle bodies as well, I haven’t actually looked.  But both the 695 (afaik) and 800 have a linear TPS, so this setting procedure is irrelevant for them anyway.

In the following photos you’ll notice I’ve numbered all the parts we need to know about in series across all the photos.  That way, if I give a number, you know which part I mean.

Items viewed from LH, being vertical cylinder.

  1. TPS – throttle position sensor
  2. TPS adjustment screws
  3. Air bleed
  4. Injector

Items viewed from front.

  1. LH throttle stop screw
  2. Balance or synchronisation adjustment screw


Items viewed from top, mainly to show the location of the RH throttle stop screw.  5 and 6 are shown again from this angle.

  1. RH throttle stop screw

Items viewed from RH, being horizontal cylinder.  The RH throttle stop screw is behind 9, the throttle cable wheel. 

  1. Air bleed
  2. Throttle cable wheel
  3. Throttle cable mount
  4. Fast idle cable lever
  5. Fast idle adjustment screw
  6. Fast idle cable mount and adjuster

Fast idle adjustment

The two blue lines show the ends of the fast idle lever slot, and you can see the pin that stops the lever next to the upper line.  This means the ends of the cable travel are constrained, and this needs to be remembered when you adjust the cable.  There’s no point adjusting the cable so the lever doesn’t move, as the adjustment for when the fast idle lever starts opening the throttle bodies themselves is controlled by 12, the fast idle adjustment screw.  Adjust the cable so it works fully between the two limits and then adjust the actual throttle opening to where you like it via the fast idle adjustment screw.  Doing this makes it very easy to give clearance in the system.

Pico Injectors

Below is a photo of the Pico series injector, just so you know what it looks like.  The brown band denotes this one as an IWP043.  The 748R, 998, 999, etc fitment IWP069 has a yellow band, the MV fitment IWP048 a red band for example.

Linear and Non Linear TPS

Visually the TPS (1) used on all the 2V motor excepting the 907 looks like the one in the above photo, including the Linear TPS.  You can see the TPS adjustment screws (2) with some small steel plates under them.  These plates are covering the slots for adjustment.  The style of TPS used on the 907 and the 4V motor is shown in the photo below.  The adjustment slots are arrowed in blue.

The visual difference of the Linear 2V TPS is that there are no small steel plates under the TPS adjustment screws (2) and there are no slots – the screws holding the Linear TPS on go through round holes.

The easiest way to show the functional difference is a chart showing output voltage versus throttle angle.  This chart was made from reading the voltage coming out of the TPS in increments of 3 degrees of throttle opening, as read using the diagnostic tools.

As you can see, the “Non Linear” is actually two linear stages, and is much more sensitive under 30 degrees throttle opening.  “Linear” is not surprisingly linear.

A point to note, noted by many who have been putting 999 motors into earlier chassis and using 999 throttle bodies with earlier ECU – the Linear TPS only goes to about 4.10V, which corresponds to 60 degrees on a Non Linear TPS that the ECU is expecting. 

TPS fitment across all 2V models

Non Linear: 620Mie, 620SSie, 750Mie, 750SSie, 900Mie, 900SSie, 907, ST2, ST3 (before ’06).

Linear: 695 (I think), 800Mie, 800SSie, S2R 800, all 1000 and 1100 ds models, ST3 ’06 onward.  The 2V models have a bolt on Linear TPS, whereas most of the 4V models have it fixed (peened over, etc) into the throttle bodies themselves, and are not replaceable as such.

To set the “Non Linear” TPS

Preparation: you need to get to the LH throttle stop screw (5), so it’s easiest to completely remove the air box.  ’02 and onward model Monsters are a bit easier to remove the air box on, except for the coil mount nuts.  On the earlier framed 900Mie and SSie models I remove the LH rubber tube going into the air box to provide access, mainly because we’re on the clock when we do this so do as little as we need to and we’ve done it before.  It also helps to remove the fuel pressure regulator too – it’s bolted to the front of the throttle bodies with a fuel hose going into each end.  And the drain hose from the bottom LH front of the air box.

TPS base line setting procedure (as we do it)

Every step is as important as any other, and the predominant aim of this procedure (apart from being “correct”) is repeatability and consistency.  We do it with the engine and throttle bodies cold.  This is simply the convention, we do it hot if we have to.

Disconnect the throttle cable at the RH throttle body cable wheel (9).

Ensure there is adequate clearance between the fast idle adjustment screw (12) and the throttle cable wheel tab at right hand throttle body.  The tab is inside and to the rear of the cable wheel.

Back off the RH throttle body stop screw (7) to allow at least 1 mm clearance.  You need a 2.5mm hex key for this

If required, remove the vertical cylinder air box / throttle body tube and unbolt the fuel pressure regulator to allow access to the LH throttle body idle stop screw (5) and balance screw (6).

Wind out the balance screw (6) approx 2 turns.  “Out” means anti or counter-clockwise.  Remember how far you went, as you need to go back later.

Connect to the TPS by whichever method you are using to measure the TPS output voltage – back probing wires, Mathesis, DDS, etc.  You need to go into the outer two wires if back probing, marked A and C on the connector.  With the throttle closed before you start you should be seeing voltage in the range of 300 – 450 mV, depending on model.  I usually record this voltage, just in case I need to go back to it.  Remember, you need to have the ignition on when doing this, and you don’t want to short out any wires.  Disconnecting the headlight or removing the headlight fuse can also be a good idea if you don’t have a lights “on/off” switch.

Remove the yellow paint from the LH throttle body stop screw (5) and wind out the screw until the TPS output voltage stops dropping.  Wind a further half turn to ensure clearance.  Check the RH throttle body stop screw (7) to ensure there is clearance between screw and stop.  Also check the fast idle adjustment screw (12) to ensure there is clearance there also.  If either have no clearance, wind out further as required and repeat with LH stop screw (5) as required.  Flick butterfly to check for it closing fully.

Open and close the LH throttle gently until the voltage stabilises at a minimum.  Do not snap the throttle butterfly shut, as this will jam the butterfly and give a lower voltage reading.  However if the throttle won’t jam shut after being snapped hard or by pushing the butterfly something is holding it open.  Usually the voltage at this point will be in the range of 90 to 170mV, most likely around 100.  Again, I usually record this voltage out of suspicion.

Once you’ve ensured the LH throttle butterfly is closing properly, reset the TPS to give an output voltage of 150 mV by loosening the two screws (2) and rotating the TPS as required.  These screws are either 7mm hex head or Torx T20.  Tighten the two screws (2) and ensure the setting remains consistent.

Wind in the LH throttle body stop screw (5) until the TPS output voltage is at the required idle setting for your model.  At this point we would use the throttle angle the ECU is reading to set the “base idle” setting, as what the ECU is reading is more relevant than the actual voltage, as there is always variation.  However, you need some sort of diagnostic tool or software to read the throttle angle, so for many the voltage is as close as you can get.  It’s still quite valid.  There’s a table below of the specified settings, both degrees and nominal TPS output voltage for that degree setting.

A side note with the tables:

Ducati didn’t start specifying degrees of throttle opening for idle settings until the Mathesis diagnostic tool was released in 1998 as before that there wasn’t a factory tool for reading it.  So any model prior to ’97 had a voltage setting only, which was 300mV for anything that had air bleeds.  On models without air bleeds (all 851 models and 888SP4) it was simply whatever it needed to be to get the engine to idle.

The relationship between degrees and voltage under 30 degrees throttle opening is: mV = (degrees x 105) + 150

The table below shows the specs we use, as well as the USA and Swiss distinction for ST2.  This info was sent out by Duane Mitchell at Ultimap (FIM) in early ’00 from memory.


TPS Voltage - mV














ST2 Euro






ST2 Swiss



There was a service bulletin issued for the 900Mie in ’00 sometime that revised the TPS idle setting by voltage (not degrees) to 472mV.  This corresponds to about 3.1 degrees.  As far as I can remember, we ignored this pretty much and kept using 2.4 degrees.

When I did training in Bologna in ’02 they gave us a sheet which gave settings as below.  Some of these seem a bit odd, especially the ’02 900Mie with the 5.9M ECU.


TPS Voltage - mV








750Mie ‘02









900Mie ‘02






ST2 Euro






ST2 Swiss



Back to the procedure:

Open and close the throttle a few times to check the idle setting is stable and adjust if required.  The TPS is now set and the LH throttle body stop screw (5) should not be touched again.

Wind the balance adjustment screw (6) back in (clockwise) 2 turns (or other as above) to its approximate original position.

Check the RH throttle body stop screw (7) to ensure there is clearance between screw and stop.  Also check the fast idle adjustment screw (12) to ensure there is clearance there also.  If either have no clearance, wind out further as required.  Reconnect the throttle cable to the cable wheel (9) and ensure there is plenty of free play in the cable.

Refit the fuel pressure regulator, rubber air tube or air box assembly as removed.  Unless it’s a later 620 with the Bing throttle bodies.  You need the air box off to get to the balance screw, which points to the rear.

Wind the air bleeds (3, 8) fully in, I usually record how far out they were, again just in case I need to go back to where I started.  You should need the fast idle on to get the engine to idle with the air bleeds (3, 8) screwed fully shut.  If not, something is most likely wrong.  Set the manifold vacuum balance (synchronisation) via the balance adjustment screw (6) using mercury sticks, etc at various RPM.  This is often a case of best compromise, and remember that cruise at 4,000 RPM has more throttle than free rev at 4,000 RPM.  I usually go up to 6,000 or so RPM free revving to check for variation.  It’s not uncommon to see one cylinder lead then the other lead at differing RPM.  Remember that word “compromise”.

Once this is done check again to ensure there is still clearance in both the throttle cable (10) and fast idle adjustment screw (12).  If not, adjust as required and recheck.

Next set the idle speed using the air bleeds (3, 8) as required.  Set the idle speed at approx 1100 – 1150 RPM once the engine is hot.  As a general rule, the air bleeds should be approximately 1 turn out.  At this point most will set the air bleeds so the cylinders are balanced at idle.  We don’t worry about vacuum balance at idle though – we balance the mixture using the air bleeds and idle trimmer, as set out below.

Adjust the throttle cable to give the free play you desire.  You can do this at the throttle body (10) or the twist grip, up to you.  Turn the bars fully left and right while doing this just in case the cables move when doing that.

Adjust the fast idle adjustment screw (12) to give the fast idle setting you desire.  I prefer to have a fair bit of clearance here so that full fast idle gives no more than 3,000 RPM, but some people like to just move the lever a little and get the fast idle acting.  Personal preference pretty much.  Just make sure the fast idle adjustment screw (12) has some clearance and therefore no effect at closed throttle, and you need to do the balance first to be sure of that.

We ignore the RH throttle body stop screw (7), as it’s not needed and can only interfere with the LH throttle body stop screw (5) setting.  Leave it screwed out with plenty of clearance or just take it out.  The LH throttle body stop screw (5) is the master setting.

That’s the end of the throttle body fiddling.  Next is the setting of the idle mixture.  I often say to people that if they can’t carry out this final step then all the previous steps may have just been in vain.  You might get lucky and be close.  Or not lucky and still have a poorly idling or running bike.  As the fuel injection pulse widths at idle and most cruising speeds up to 100km/h are very similar, the idle mixture and idle trimmer setting can have a very large impact on general running at low throttle openings.

For example, if the bike is too lean and idles low, winding out the air bleeds (3, 8) to try to raise the idle speed will only lean it out more, so the idle will most likely not increase.  You can sometimes make a bike idle better by winding the air bleeds (3, 8) in and richening the idle mixture if it was too lean to start with, even though the idle is low.  The idle speed might even increase, which can really confuse you.  As an indication based on experience, a full turn on the air bleeds can change the mixture from 1% CO to 4% CO on a 900, so the air bleeds have a big influence.

To adjust the idle mixture you need to get into the idle trimmer

We use 4 to 5% CO as the idle mixture target for all Ducati models.  This tends to work well and give good low speed running and fuel economy.  We take a sample from both header pipes using the little 1/8 gas threaded bungs all the header pipes have.  You can buy from Ducati a tube to go into this bung – it’s a piece of copper pipe with the appropriate fitting on the end – that is surprisingly cheap.  You could also get some made up by a local hydraulics supplier.  We have a few of varying lengths and bends.

Given there is only one idle trimmer for both cylinders, we check the mixture and then adjust the trimmer to get the average between both cylinders where we want it.  Then we adjust the air bleeds to give the same mixture in both headers.  This means that the manifold vacuum balance or synchronisation at idle will often not be equal.  That’s just how it is.  Equal mixture CO% is more important in our experience.

You can also use the air bleeds to manipulate the idle trimmer position if you want a specific idle trimmer setting for any reason, but don’t try to get too tricky unless you’re sure of what you’re doing – it’s very easy to confuse yourself.

You can also use the air bleeds to check if you have a cruise issue caused by mixture.  Winding them in a full turn may lower your idle, but if the bike runs much nicer on cruise then you know it’s too lean.  Or visa versa.  It’s a quick and easy test that can be useful.

As we’re talking fuel injected motors here you need to wait for the engine to be warm before doing this, as they have warm up tables that run them richer under a certain engine temperature.  As a general rule, the minimum engine temperature that you set idle mixture at is 65 degrees.  This can take quite a while, especially as the air cooled bikes gain heat much slower than the water cooled ones.  On a SS with a needle temp gauge it’s above the first (one third) mark, which might take 10 minutes or more of idling to reach.

907 with P7 ECU (same as P8)

The 907 we don’t usually check the actual idle mixture on.  This is based on experience and somewhat poor results achieved doing it the “correct” way.  A more successful way to set the idle mixture on a 907 is to hold the engine at around 2,000 RPM and adjust the idle trimmer to give the highest RPM for that throttle opening.  As you turn the trimmer clockwise (richer I think) and anti clockwise (leaner I think) you’ll hear the engine lose or gain RPM.  This method tends to work very well in our experience.  The P7 also works a little differently in how it interprets the TPS output – it doesn’t see a degree idle setting, it just calls the minimum TPS voltage is sees zero (0) degrees and works from there.  So it’s best to turn the ignition on with the throttle shut and fast idle off.  The P8 works like all the later ECU and translates the voltage coming out of the TPS to degrees of throttle opening.

Although you need to know a little more about the idle trimmer on the P7 and P8 ECU before getting that far.  The idle trimmer on them is the recessed screw next to the large wiring loom connector often covered by a plastic cap.  To access the trimmer you just dig the cap out.  See the photo below. 

The idle trimmer operates over a range of 4 turns, but it’s possible to turn past the end point in either direction endlessly without changing the trim pot output voltage.  Duane Mitchell at Ultimap says you can set the trim pot to the default “central” position by turning the trim pot 5 turns clockwise and listening for a little click (it’s rather little).  Then turn back 2 turns counter clockwise and this is the central position.  You now have 2 turns in either direction for adjustment.  I’m sure I’ve done it on my own bikes this way.

Alternatively, you can remove the lid of the ECU (the top as it is fitted to the bike, mounting tabs to the bottom) and using a multimeter set the trimmer by its output voltage.  See the diagram below for the location of the terminals to take the voltage from.  This is the most accurate way to get the default “central” setting for those who like that sort of thing.

If you do this and are having a general look around inside and can’t find the eprom, that’s because it’s on the other side of the board, accessed by removing the “bottom” cover.  Be careful to use the correct size screw driver on the little screws too.

Just remember that once set at the default central position you have 2 turns of adjustment in either direction – it may help to write down where you’ve gone from there.  You may also need to know that some of the Ultimap eproms disable the idle trimmer.

ST2 with 1.6M ECU

The idle trimmer is a trim pot inside the 1.6M ECU, which is under the seat.  The 1.6M ECU has a rubber access plug that is hopefully hidden under a “do not remove” sticker of some sort or some race tape if someone has been in there before.  Once you’ve finished, cover the plug again – they can leak water into the ECU if you leave the plug uncovered.  Either remove the whole sticker, tape, etc or just use a sharp knife/blade to cut around the plug and gently pry it out with a little screwdriver.  Once removed you can see the eprom directly under the access hole.

The idle trimmer is a little metal square just next to the eprom with a plastic rotating pot inside.  This adjusts the idle mixture, working the same as the electronic idle trimmers in the 1.5M and 5.9M ECU.  It adds or subtracts a given pulse width from the map fuel number across the whole map, therefore having a much greater percentage effect at small pulse widths.

This trimmer is adjusted by rotating it between the ends of its travel.  The total travel is 270 degrees (3/4 of a full turn) as shown in the next photo so if you manage to make it go all the way round you’ve wrecked it and it’s time for a new ECU.  Be very gentle!  As with a mixture screw, clockwise is lean, anti clockwise is rich.  The mid point, where the trimmer slot points directly at the eprom socket, is nominally zero.  Best to use a non metallic screwdriver when adjusting this especially when you have the engine running and the ECU circuit board is live.  You don’t want to be shorting anything out.

In the photo you can see the trimmer is set at about 60 degrees lean (which looks identical to 120 degrees rich, unless you look really hard and can see the little dots that act as arrow head edges).

If you don’t have a gas analyser, as a bit of a rough guide, I’ve found that the best way to set the idle mixture is to move the trim pot clockwise (leaner) until the revs begin to drop.  Then go richer until the revs begin to drop.  Now you have these two end points, set the trimmer 1/3 of the way from the lean stumble point towards the rich stumble point.  This usually gives 4% CO when I’ve tried this method and then checked with the gas analyser.

There is no default or ideal setting for the trim pot, just wherever it ends up.  You can manipulate it somewhat with air bleed position if you need to, and it can have quite an impact on low speed running and fuel economy.  And it does act over the whole fuel map, so can affect WOT running too.

Also the 1.6M ECU will run richer for a minute or so every time you start the bike, so always give it a chance to settle.  Its effect doesn’t appear to be as pronounced as the 1.5M ECU though.

Monster, Sport and Supersport Models with 1.5M or 5.9M ECU

The 1.5M ECU looks like this:

The 5.9M and 5AM look like this:

The idle trimmer on these models is adjusted electronically via the following diagnostic tools or software. There is no way to get around it. “Stand alone” means a separate, hand held unit. “PC” means run via a PC or laptop.

Mathesis – the first generation Ducati electronic diagnostic tool, now long since superceded - stand alone.

DDS – the second generation Ducati electronic diagnostic tool – stand alone.

Technoresearch’s Centurion S – PC based. Formally the MDST and VDSTS. This was also the official MV Agusta tool, but it also works on many different brands and can be purchased in a few different capability specs with prices that vary accordingly.

Texa Navigator (supercedes the Axone) – stand alone. Nominally the official Aprilia electronic diagnostic tool, but available as a generic all brands tool as well. As I worked at an official Aprilia and Moto Guzzi dealer we had an Axone that for general workshop convenience was upgraded to the “multi-brand” level.

There are more of these electronic diagnostic tools becoming available all the time.

One very important thing to know about the 1.5M ECU is that it runs rich for the first 3,000 rotations every time you start the engine after turning the key or kill switch off and then on.  I just thought (while typing this) that I don’t know what happens if the engine stalls and you restart it – I’ve never tested that.  So best to assume it does it every time.

And this is not just when it’s cold.  Every time!  Even when it’s hot.  If you start it up and check the idle mixture quickly and it’s 5% CO after idling for 3 or so minutes (3,000 rotations at 1,100 RPM idle is about 3 minutes) the mixture will drop to maybe 1% CO or so and it’ll idle like crap.  I usually allow at least 4 to 5 minutes for the mixture to settle after starting the engine.  It’s very annoying when you’re in a hurry, as you have to turn the engine off then back on to initiate the setting procedure with the diagnostic tools, but that’s how it is.

[Top Of Page]

Home | Blog | Facebook | Service Enquiry | Products | Reports | The Dyno | Disclaimer | Contact Us