4V Desmoquattro Non Linear TPS Baseline Adjustment (plus ST3) - Written 06/08

Summary: How to set up 4V throttle bodies with the Non Linear TPS.
Discussion of idle mixture setting for various ECUS: P7 and P8, 1.6M and 5.9M.
Also for ’04 and ’05 model ST3.

Extra photos that I didn’t have provided by Jan Krohn, Rich “Jasper” Bower, “Duc Wilder” Troy and Mike Currie from the 851/888 Yahoo list.

TPS fitment across all 4V models



And on to the relevant info:

This report pertains to the non linear TPS fitted to all 4V models prior to 2003, and from 2003 fitted to Desmoquattro S4R (Not Testastretta S4R/S4RS), S4, ST4, ST4S and 2004 – 2005 ST3.

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 and PF3C (998) are non linear TPS.

PF1C is the linear TPS fitted to 2V models.

IPF2C/B is the “built in” linear TPS fitted to all linear TPS 4V bikes, which is not physically adjustable. 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 (well, in the 2V report in that instance) 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. I recall flashing a 749 ecu with a file not originally from that ecu which would reset the TPS (linear) to 4 degrees or so with each flash. Now I always do a TPS reset after a flash for a linear TPS model.

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.


Non Linear: 748, 851, 888, 916, S4, ST4, 996, S4R (Desmoquattro), ST4S.

Linear: 749, 848, 999, S4R (Testastretta), 1098.  Unlike the 2V models which have a bolt on Linear TPS, most of the 4V models have it fixed (peened over, etc) into the throttle bodies themselves, and are not replaceable as such.

Two different sets of throttle bodies have been used on the Desmoquattro 4V engine bikes since the release of the 851 in ’88.  Both have been available in either single or dual injector configuration.

All 851 and 851/888 SP models up to the release of the 888 in 1993 used the first style.  The photos below show the features of these throttle bodies.

In the 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.  Some parts are denoted by letters – these are used so as to not confuse the TPS setting procedure, which is laid out for both types of throttle bodies.

Items viewed from the LH side.

1. TPS
2. TPS adjustment screws
3. Injectors – “green end flow” IW031
A. Manifold vacuum take off tubes for fuel pressure regulator
B. Unused casting mounts for second injector
C. Fuel pressure regulator

The TPS (1) is the usual Non Linear part used on all 4V Desmoquattro engines, although the early 851 models have red bodies TPS.  As far as I know, they are functionally identical to the black bodied part shown.  You can also see, in the above photo, that the TPS connector is at the top of the TPS (1).  This is how all the P7 ECU TPS are fitted, for some reason.  Later ones have the connector at the bottom.  The flat section on the throttle shaft the TPS (1) locates on defines the orientation.

The fuel pressure regulator (C) between the throttle bodies has a tube from it going into a T piece and then to each of the throttle bodies under the butterfly for manifold vacuum (A).  The reason manifold vacuum is fed to the fuel pressure regulator is to keep the pressure drop across the injectors constant.  This means at idle the fuel pressure may be 2.5 bar instead of the nominal 3 bar as the manifold vacuum is 14” of mercury, being the equivalent of 0.5 bar in vacuum terms.  In real terms it doesn’t make that much difference (I’ve tried it on later models) and it was dropped from all bikes running the Weber / Magnetti Marelli systems from the introduction of the P8 ECU onwards (888 # 501 or so, 888SP5).  All the later fuel pressure regulators still have the little nipple for it, as I believe most car systems still use this feature, but it’s not meant to be hooked up to anything.

The fuel pressure regulator on some or all of these throttle bodies is also adjustable via a hex head screw under a plastic cap in the end of the pressure regulator.  The photo above, supplied by Jan Krohn, shows how to access the adjuster.  The hole the hex T-handle is going through is not std.  You have to drill that yourself.

Items viewed from the RH side.

  1. Throttle cable wheel
  2. Throttle cable mount
  3. Throttle linkage rod
  4. Horizontal cylinder idle stop screw
  5. Vertical cylinder idle stop screw

This photo was supplied by Mike Currie on the 851 Yahoo list.  You can see the old style red TPS (1) these throttle bodies have.  And, as you can see, no air bleeds.  The throttle linkage rod on these is adjusted undoing the nuts at either end (one end is LH thread) and rotating the rod and then tightening the nuts.  It’s as annoying as it sounds, and can be very frustrating when it just doesn’t want to work, trying to get your hands up under the fuel tank, etc.

The second style throttle bodies have been used on all models from 888 onward, finishing in ‘06 with the last of the Desmoquattro engine S4R Monsters.  These also come in single or dual injector styles, and feature injectors that fit into the throttle bodies, with only the connector protruding.  888, S4, S4R, ST3, ST4 and ST4S models have a fast idle mechanism.  888, S4 and S4R models have a fuel pressure regulator mounted on the cross bar.  All other models have the regulator in the fuel pump plate mounted in the bottom of the fuel tank.

The balance or synchronisation adjustment mechanism varies from two different types of rear throttle wheel screw adjustments on 888 and the large white nut on 916 and later models.

In the following photos you’ll notice I’ve numbered all the parts in the same series as the 851 throttle body photos above.  That way, if I give a number, you know which part I mean.

Items viewed from the LH side.

  1. TPS – throttle position sensor
  2. TPS adjustment screws
  3. Injector “green side flow” IW724

A/ Mounting holes where the 748, 916 and 996 models have the screw lock wiring loom connector.

Items viewed from the RH side.

  1. Throttle cable wheel
  2. Throttle cable mount
  3. Throttle linkage rod
  4. Horizontal cylinder idle stop screw
  5. Where the vertical cylinder idle stop screw would be, not used
  6. Horizontal cylinder air bleed
  7. Vertical cylinder air bleed
  8. Throttle linkage adjustment nut
  9. Fast idle arm
  10. Fast idle adjustment lever locking screw
  11. Fast idle cable mount and adjuster
  12. Fuel pressure regulator mounting hole for models fitted with such.

As stated above, the 888 throttle bodies have a rather intricate balance adjustment set up on the rear butterfly shaft different to all the others.  There are two versions of these as well, with the adjustment screw and its opposing sprung counter stop reversed on the dual injector 888SP5 throttle bodies.

The two photos below show the two different set ups that I have seen.  888 on left, 888SP5 on right

888 throttle bodies from RH side showing balance adjuster.

Fast idle adjustment for applicable models

The two blue lines show the ends of the fast idle arm slot, and you can see the cast boss that stops the lever above the lower line.  This means the ends of the cable and fast idle arm (12) 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 arm starts opening the throttle bodies themselves is controlled by the fast idle adjustment lever (13), which is hidden inside the throttle cable wheel.  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 lever.  Adjusting the fast idle adjustment lever (13) can be a little tricky, as it’s fiddly to get to and can move when you tighten the locking screw.  You may need to have a couple of goes at it.

To set the “Non Linear” TPS

Preparation: it’s easier if you can get to the top of the throttle bodies to wind out the stop screws and disconnect the linkage rod ends, so I usually do this with the air box removed.  If it’s a restyled ST4S or ST3 (or even an older ST series bike) that I don’t have to pull apart for anything else then I do them without getting it stripped.  Anyone who’s had to pull one of those bikes apart will understand what I mean.  Designed by someone with no respect for those who have to work on them.

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 normally 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 throttle cable wheel (9).  Easiest to just take the cable out of the wheel rather than play with the adjuster.

If it’s fitted with the fast idle system, loosen the fast idle adjustment lever locking screw (13) to let the lever move freely and not block the throttle from closing fully.  You can leave the rest of the fast idle system as it is.

Disconnect the throttle linkage rod (6).  On the 851 style throttle bodies you need to remove a little circlip.  On the later style you can pop off the plastic connector on the horizontal throttle body.  I use a pair of side cutter pliers with the taper side against the throttle cable wheel side – it pushes the plastic connector off nicely.  Otherwise (if you’re not as confident as our repeated experience lets us be) you can wind out the throttle linkage adjustment nut (11) to make sure the vertical throttle butterfly is open more than the horizontal throttle butterfly.

On the 851 throttle bodies I’d be a little reluctant to undo the nuts and wind the rod out – you’ll appreciate what I mean when you get to the balancing (synchronising) manifold vacuum part and you’re trying to stop a rod that you can’t get a tool on from turning while tightening two nuts against rod ends that rotate.  Cue tanty time.

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.  For models with P7, P8 or 1.6M ECU you can hook into the ECU connector as below.

To hook into the ECU connector, first you disconnect the big black multi pin connector from the ECU, levering the lock tab up with a small screwdriver.  At this point always remember that when you turn the ignition off you should wait at least 15 seconds before disconnecting the ECU.

Then cut the zip tie holding the wiring boot on and pull the boot back exposing the end of the connector.

Remove the small Phillips head screw at the other end of the connector.

Now slide the outer cover off.  When this cover comes off the two plates that lock each little connector into the multi pin connector can come out, although I’ve never actually seen the little connectors come out.  You can also see in this photo the numbers denoting each pin number for the ECU.

Now you can easily connect a multimeter into the backs of the terminals.  We want pins 11 and 17 for the P7 and P8 ECU or pins 16 and 30 for the 1.6M ECU.  Reconnect the multi pin connector to the ECU, pushing it home firmly.  Turn the ignition on and read the voltage. 

Once you’ve carried out the required TPS readings you reassemble the connector in the reverse and use a new zip tie to hold the rubber boot on.  While this may seem a bit daunting the first time for some it’s not at all hard and I’ve never seen wires come out of a multi pin connector.  Not saying it couldn’t happen, and if it does don’t tell me it’s my fault.

With the throttle closed before you start you should be seeing voltage in the range of 300 – 450 mV, depending on the 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.

Back off the horizontal cylinder idle stop screw (7) to allow the throttle butterfly to close fully and jam if snapped or pushed.  These screws are either 7mm or 8mm hex.

Open and close the horizontal throttle butterfly gently until the voltage stabilises at a minimum.  Do not snap the throttle butterfly shut, as this will jam the butterfly and may give a false lower voltage reading.  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 horizontal 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 usually 7mm hex head.  Tighten the two screws (2) and ensure the setting remains consistent.

Wind in the horizontal throttle body stop screw (7) until the TPS output voltage is at the required idle setting for your model.  At this point for some models 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.

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.  You can see the 748 and 916 specified settings changed a little from the 300mV once a degree setting was given.  If you have a USA or Swiss spec bike the decision on which settings you use is up to you.

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


TPS Voltage - mV





748 USA



748 Swiss







Whatever makes it idle











ST4 Euro






ST4 Swiss












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 horizontal throttle body stop screw (7) should not be touched again.

If you removed the throttle linkage rod (6), refit it now.  If you adjusted the throttle linkage rod (6), set it back to its approximate original position.

Whether or not you use the vertical throttle body stop screw (8) on the 851 style throttle bodies is up to you.  As they don’t have any air bleeds, you may be able to balance the idle mixture somewhat using it if required as it can open the vertical throttle butterfly a little more due to the slack in the throttle linkage rod (6) ball ends.  However, I like the idea that the throttle linkage rod (6) is loaded by the vertical throttle butterfly all the time.

Reconnect the throttle cable to the cable wheel (4) and set the free play in the cable.  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.  Remember on a 748, 916 or 996 the RPM given by the fast idle button will determine the cable free play pretty much.

For those bikes with the fast idle lever set the fast idle as desired by tightening the fast idle adjustment lever screw (13).  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 lever (hidden inside the throttle cable wheel (4)) has some clearance and therefore no effect at closed throttle.  This can be a bit fiddly as you have to try to hold the fast idle adjustment lever and the throttle cable wheel (4) while tightening the fast idle adjustment lever screw (13). 

At this point I would usually refit the air box, etc and put the fuel tank back on.  You can get to all the adjusters you need to from the sides, some can be a bit fiddly though.

Wind the air bleeds (9, 10) fully in, I usually record how far out they were, just in case I need to go back to where I started.  You should need the fast idle on (if fitted) to get the engine to idle.  Set the manifold vacuum balance (synchronisation) via the balance adjustment nut (11) or throttle linkage rod (6) nuts 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 the word “compromise”.

Next set the idle speed using the air bleeds (9, 10) as required.  On the 851 models just use the horizontal idle stop (7).  Set the idle speed at approx 1100 – 1150 RPM once the engine is hot.  There is no general rule for how far out the air bleeds should be.  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.

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.  The idle mixture 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 (9, 10) 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 (9, 10) in and richening the idle mixture if it was too lean to start with, even though the idle is low.  As an indication based on experience, a full turn on the air bleeds can change the mixture from 1% CO to 4% CO, so the air bleeds have a big affect.

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.  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 my experience.

851 with P7 ECU and 888, 916, 916SP 916SPS and 996SPS with P8 ECU

The 851 with the P7 we didn’t actually check the idle mixture on back in the day, so to speak.  Mainly because we didn’t have a gas analyser back then.  But a rather successful way to set the idle mixture on an 851 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 (leaner) and anti clockwise (richer) you’ll hear the engine lose or gain RPM.  This 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.

The P8 works like all the later ECU and translates the voltage coming out of the TPS to degrees of throttle opening.  You can use the above method on P8 bikes too, but we set the idle mixture using CO% on them.

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 screw in a hole 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.

Just remember that you have 2 turns of adjustment in either direction – it may help to write down what you’ve done.  You may also need to know that some of the Ultimap eproms disable the idle trimmer.

748, 916, ST4 and 996 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.

S4, S4R and ST4S models with 5.9M ECU

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.

[Top Of Page]

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