Weber Marelli Throttle Position Sensor Setting Notes and Procedures - with photos for MV - Written 11/05

Update: This report has also been hosted by James Corell on his MV site.  James has split the report up into 3 and added info pertaining to the other MV models.  Well worth having a look at if you haven’t seen it already, especially as the rest of his site contains a massive amount of very useful MV info.

You may have already seen James additions – I’ve been extremely slack in acknowledging his input.

When we service any bike with a Weber Marelli EFI system we have a set procedure to make sure it’s working as intended.  Which may vary from working as well as it can (Moto Guzzi models in particular), but it’s the baseline setup that theoretically gets everything where it was when the mapping was created.  First step in this is TPS setup.  This is something that I learnt when I first started working at Moto and it hasn’t changed since.  However, not all manufacturers detail it, and in the case of MV they seem to totally ignore it.  Which is up to them, and really doesn’t worry me at all.

The Throttle Position Sensor has one job – it tells the ECU how far open the throttle butterfly is.  Simple enough you would think.  On the Weber Marelli systems the TPS is non linear (excepting Ducati 749, 800, 999 and 1000 models, which are linear - the ’05 620 is also linear TPS I believe).  What this means is that the output varies in its sensitivity – at low throttle openings you get a higher voltage change per degree of throttle opening than you do at high throttle openings.  This is just the way they do it.  What this means is that for the ECU to read the output correctly there needs to be a baseline setting to reference the TPS and throttle butterfly so they’re both starting at the same point.  Otherwise the sensitivity is off and you get variations not only based on incorrect base line, but also on the transient voltage/degree relationship.

We also do baseline setting procedures for BMW models (the zero = zero) and for the Ducati models with the linear TPS.  Keep in mind both these procedures are not actually ‘official’, but they do work.  These are based on correcting the baseline reference between the TPS and throttle butterfly – ie, when the throttle is fully shut the ECU reads it as fully shut, not open a bit or shut more than fully (not a physical, but an electronic thing).  However, in the case of the Ducati models the output voltage from the TPS is not relevant, as you carry out an electronic procedure using the diagnostic software that tells the ECU that the voltage it is seeing corresponds to a certain throttle angle.

On the BMW models the voltage coming out is relevant, and is used to set the idle throttle angle.  However, the BMW TPS is linear, using two variable resistor tracks to give sensitivity (which is why it has 4 wires).  One track reaches max output voltage at about 25% throttle, the other at WOT.

The important point here is that the TPS setting needs to be done using a repeatable procedure that ensures they’re all the same.  Once they’re all the same it makes everything that follows much more consistant.  So what we’re after here is consistency – and the Weber Marelli non linear TPS system is the one that suffers from inconsistency the most.

At this point it’s worth mentioning that many see TPS position as a tuning variable.  It’s not, it’s just a basic sensor with an expected system input, but for someone like me with access to lots of tuning equipment that’s easy to say.  If you want to play with your TPS using your own method go for it, it’s your bike after all and not my problem.

All the procedures vary, but at their basis they all have some sort of ‘throttle fully shut’ setting.  With the Weber Marelli non linear system, when the throttle is fully shut the TPS needs to be producing a voltage of 150mV.  To check this voltage you need to get the throttle fully shut and hook into the TPS circuit with the ignition on (or use the Mathesis test function and separate lead).  Once you’ve done that you then wind the idle stop up to give the nominal idle voltage.  Ideally you then hook into the diagnostic connector and set the idle stop using a degree value as specified for that model.  In this case we’ll work with the MV Brutale and carry out a setup specifically for our MVB01 Brutale eprom, although all the MV models share the same throttle body and TPS layout.  The concept transfers directly to all the Ducati and Moto Guzzi models as well.

1/ First up, remove the tank, airbox, etc to allow access to the throttle bodies.  The locations of required parts are shown.  This procedure is usually carried out with all bits cold.  A hot engine or throttle body will give a slightly different result.  Which is more correct – cold or hot - I’m not sure, but convention is cold, and sticking to convention gives us repeatability.

2/ Slacken throttle opening cable (or remove the bracket on the throttle bodies) and dig out the yellow paint covering the idle stop screw at the front of the throttle bodies.  There is another screw at the rear of the throttle bodies that sits on the end of this screw (see picture 3) – don’t bother winding it out as it often doesn’t wind out enough to allow the throttle to fully close.  You need a 2.5mm hex key for this.  Wind the screw out until there is 3 or 4 mm clearance.

3/ Wind the balance screw 1 to 2 turns clockwise, remembering how much and where it was originally.  This opens the LH throttle pair more than the RH, ensuring the RH throttle pair can shut completely without interference from the LH.

4/ Now you should be able to open the throttles and let them snap shut, or push down gently on the throttle blades themselves so they shut fully and lightly jam.  This light jamming lets you know there’s nothing holding the throttle open.

5/ Move on to the TPS, located at the RH end of the throttle bodies.  This is the later style small, round TPS on the MV that is also fitted to most Moto Guzzi after ’96, the Ducati 2V models from ST2 on and Ducati 748R, 996R and 998 models.  All the previous models use the larger, square TPS, the very early ones (851, Daytona) of which were red.  You can see the red painted screws, which we do after setting the TPS so we know for future reference that it has been done.  As delivered these screws are covered in the same yellow paint that covered the idle stop screw.  Dig out the yellow goop to ensure you get a good fit of the tool.  On these later bikes they are a torx20 head, on early bikes usually a 7mm hex.  The adjustment slots are visible behind the screws.  There is a very large range of adjustment, why I’m not really sure.

So now we need to measure the voltage coming out of the TPS and then move it as required to give the 150mV reading.  There’s a few ways you can get into the TPS signal to check the voltage.  We use an auxiliary function on the Mathesis tester and a special cable, but not many have that luxury. 

First is back probing the TPS itself.  You need to take the voltage across the two outer wires for the MV.  But you also need to make sure you don’t let the two probes touch or earth out on anything as this may give the ECU a voltage it doesn’t like.  So be careful.  Remember the ignition is turned on for this too, and you can see the display on the digital multimeter of 308mV.  If you’re not sure if you have the right wires or not – the reading should be around 100 to 150mV with the throttle fully shut (as delivered) and it should rise to 4.85 or so Volts at WOT. 

Second, and maybe somewhat easier when access is an issue, is reading the voltage at the ECU connector.  This is relatively easy for P7, P8 and 1.6M ECU.  First you disconnect the big black multipin 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 need to 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 multipin 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.  In this case we want pins 16 (green with white stripe) and 30 (white with green stripe).  For the older Ducati and Guzzi P7 and P8 ECU systems you need pins 11 and 17.  Reconnect the multipin 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 multipin connector.  Not saying it couldn’t happen, and if it does don’t tell me it’s my fault.

As delivered, with the throttle fully shut, we expect the voltage to be from 150mV down to maybe 90mV.  Occasionally it’s lower, and even more occasionally it’s higher than 150mV. 

What you need to do now is loosen the two screws and rotate the TPS to give 150mV with the throttle fully shut.  This is the baseline setting.  Once you have a repeatable 150mV every time you open the throttle and let it snap shut (you should be able to get between 147 and 152 very easily) tighten the TPS screws and don’t touch them again.  The TPS is now set.

6/ Wind the idle stop screw back in to give the idle setting.  This setting varies for most models, and the relationship between this setting and what the ECU reads also varies.  However, without the diagnostic equipment to read the degree setting (you need the Mathesis, Technoresearch or FIM software/tools to do this) the closest you can get is a mV setting.  Be aware that a FIM Megazone or Ultimap eprom in a P7, P8 or 1.6M ECU will not talk to the Mathesis or Technoresearch software.

The table below gives a range of mV versus degrees – which oddly enough seems rather linear.





















For the MV 750 models the idle setting is 1.5 to 1.7 degrees – 315 to 335mV.  I usually aim for 1.6 degrees.  For the MV 1000 the setting is 2.1 to 2.3 degrees.  Once you have the idle stop set as desired you don’t touch the idle stop again.

7/ Wind the balance screw (see step 1 and 3) anticlockwise (counter clockwise for our American friends) to return it to its original position.

8/ Now we move onto the ECU and swap the eprom.  The 1.6M ECU has a rubber access plug that is always hidden under a “do not remove” sticker of some sort.  Either remove the whole sticker 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.

Being very careful remove the grey blobs of silicone (the greatest goop ever) from either end of the eprom and its little white plastic clip on cover.  It’s common to lose them inside the ECU case – just hold it upside down and roll them out as required.  Then using a small blade and extreme care (usually the amount of care is inversely proportional to the number of times you’ve done it) pry the tangs of the white plastic clip on cover sideways out from under the eprom socket base and remove the white cover.  You might have to go fishing for this too.

This exposes the eprom.  Using an eprom puller under each end of the eprom remove it as well.  Many people like to use anti static mats and the like when removing/fitting eproms to stop static electricity from damaging the eprom.  Personally I never do (because I was never told to and Duane at FIM/Ultimap taught me everything I know in this area) and have never had a problem.  I’m sure that’ll upset some.  If it concerns you, go to an electrical supplies shop and fit yourself out.  If any of this eprom swapping daunts you, get someone who has done it before to do it for you.

You’ll also notice that the socket that the eprom sits on and the pins go into has a notch at one end.  The eprom also has a notch, usually hidden under the grey goop.  This is the locating notch, and the new eprom needs to be fitted with its notch at the same end.

At this point, if you’re fitting one of our MVB01 eproms or any other sort of FIM/Ultimap eprom (excepting Megazone), you’ll notice the original eprom is only a single grey piece, whereas the Ultimap eprom is a similar grey piece fitted to a green circuit board.  This green circuit board is a security device manufactured by Ultimap.  Removing the eprom from this will do you no good at all, as it won’t work.  For obvious reasons it also stops you copying the eprom and selling it on yourself too.  So, you install the complete eprom and green board assembly as shown below.

Once the eprom is in we need to set the idle trimmer.  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).

As a starting point for the Brutale I recommend setting the trimmer around 35 to 45 degrees lean (clockwise from the mid point).  This is the setting used when developing the eprom and has proved to be consistant thus far.  In fact, if this doesn’t give the right idle mixture CO% setting for your bike it’s worth rechecking your TPS setting or having a look at the fuel filter, that sort of thing.

To check the idle mixture CO% we need to fit probes to the two take off bungs in the LH and RH collectors.

The Brutale is unique amongst the MV for having two take off points – all the others have one.  The Ducati and Moto Guzzi models usually have one in each header pipe allowing you to set each cylinder individually (which is the correct procedure).  The issue with the Brutale is that while the exhausts are paired 1-2 and 3-4, the main fuel map and offset fuel map are paired 1-4 and 2-3.  This means that checking in each header still gives a combined reading, not a dedicated ‘main’ and ‘offset’.  It is still well worth doing, however, as they will vary when the air bleeds are set for balanced vacuum.

At this point it’s just the usual balance and idle mixture setting.  Initially wind all the air bleeds in fully – the air bleeds are the little brass screws at the fronts of the throttle bodies.

Now set the balance between the two butterfly pairs using the central balance screw. 

The vacuum readings from cylinders 2 and 3 are the ones I use for this – I ignore cylinders 1 and 4 at this point.  Usually I balance this at idle and find it stays fairly consistant when the throttle is opened to raise the RPM.  Now this may seem easier said than done, but we use little right angled screwdrivers that do the trick amazingly well – see the photo below.  Well worth buying if you do a few MV as we do.  Access to the central balance screw is easiest form the LH side.  If you don’t have one of them, getting someone to hold the tank up provides access.

Once you have this done wind the air bleeds out around half to three quarters of a turn (one and a half or so on a F4 1000), balancing the settings using the vacuum readings of all 4 cylinders.  This range should give the correct idle speed.  There is no need for the air bleeds to all be at the same turns out – it would surprise me if they were.  The vacuum is what matters here.

Warm the bike up before setting the idle mixture.  Most manufacturers specify engine temp of at least 65 degrees must be reached before setting idle mixture, but MV specify the idle speed and mixture be set with the radiator thermo fans running.  The fans usually come on around 103 degrees, and luckily they warm up pretty quickly.

Now hook up your gas analyser to the take off from either collector.  Once you have a stable reading hook into the other collector.  We’re looking for around 3.5% CO as an idle mixture – certainly between 3 and 4%.  You can use the idle trimmer to set the mixture in this range, but as stated above it should remain in the range of 35 to 45 degrees lean.  If the readings between each collector take off vary by more than 0.5% or so use the air bleeds of each cylinder pair to balance the mixture.  This results in the vacuum balance being off, but don’t worry about that. 

Winding the air bleeds in richens the mixture, winding them out leans the mixture.  Make the necessary adjustments to either or both cylinder pairs as required to keep the idle speed and mixture correct– you will end up with the vacuum of cylinders 1 -2 balanced, and the vacuum of cylinders 3 – 4 balanced, and most likely a variation between the two pairs.  This variation is not important (within reason).  The air bleed position/idle speed/idle mixture interaction can be a bit of a chasing game at times, but you get used to it.

The ECU position on the Brutale makes it a real pain to get to, but it’s worth keeping the ECU under the front of the tank and having the ambient air temp and pressure sensor connected.  Hanging the ECU out the side with this sensor disconnected will give a varied reading based on the assumed values for ambient air temp and pressure the ECU will use when it’s not receiving input from the sensor.  Using the idle trimmer setting mentioned above should ensure there’s little need for a second helper holding the front of the tank up so you can get inside the ECU.

At this point you have reset the TPS baseline, set the idle stop using either TPS voltage or the ECU degree reading, set the balance, idle speed and mixture.  This is all pretty simple stuff – the TPS baseline setting is something we do at first service, the balance, idle speed and mixture something we do every service.

If you want to read more about this sort of stuff then the FIM/Ultimap website has lots of FAQ and other info –

[Top Of Page]