Solved problem with VEMS sporadically not starting properly and not powering the fuel pump (described below). The ignition Lock switch was bad, so no VEMS problem at all. Seems a weak point on all Audis.

Discovered it because the fan kept running with the key in the OFF position.

Oh, and somone created a root folder with my name for spamming, nothing to do with me.


The GND wire in the primary trigger cable had turned brittle, which couldn't bee seen but only felt. The wiring is from 1991, so this is to be expected, I guess. I have absolutely no idea why this only happened to the GND wire and not the other two. I didn't even have to replace the wire (will do that later). Attaching it to the strut brace with a zip tie on both sides of the connector fixed it (this also moved everything well away from the ignition coil, which may have something to do with it too). In case others with Audis have similar issues, the problem was in the car wiring, and not in the wire from the connector to the actual sensor.

Car runs better than ever, so I must have been dragging this problem along with me for some time.

Also, the speed sensor runs OK. I switched from "Both" to "Rising" (like Marcell recommended), but I also had to double the number of impulses at 100 km/h to 222, although there are actually only 111, so it seems that the sensor catches both rising and falling. Works well regardless, so I'm happy.


I seem to have similar problems with the speed sensor, where the needle when driving slowly reacts ok, but when accelerating instead of linearly showing the km/h it actually jumps. My sensor looking at the pin on the flywheel is new, and i will be replacing the rpm sensor as well. BUT i am not sure if the problem will be fixed.

where was the brittle cable in your case? on the sensor bit of the cable, or the car's wiring harness?



EDIT: i tried the speed sensor again, and doesnt work with 222 or 112. I also tried a divider of 1 or 2 and again the speed needle on vems just jumps around and doesnt follow the actual speed properly.


Hi Vasilis, sorry about the late reply. Been busy working. The brittle bit was in the car wiring. There is a red and a purple signal wire and a black GND wire. The GND wire was bad the whole length from the screening to the plug on the car side. This problem was in the trigger sensor for the crank (Primary trigger).

For the speed sensor, I soldered an extra wire onto the sensor on the gearbox. It has only 2 pins, and I am pretty sure I used the "centre" one (the plug has room for 3 pins, although only 2 are used). This wire then goes directly to the speed input on the VEMS. The VEMS end is actually only wound toghether and taped, and it still isn't too noisy.

If you grab the signal at the radio, I don't think that it is a pulse signal any longer, but a voltage signal (not sure). You should grab the signal at the gearbox or behind the tachometer. Also, make sure your wires are well away from the ignition coil. I pulled the speed wire in through the firewall next to the brake hydraulics and routed it to VEMS (original location in the passenger footwell) inside the car. I also untangled the trigger wire and attached it to the brace between the shocks. There are lots og high-voltage wires next to it if you run with a distributor, and a bit of distance to those is no bad idea, I think ... oh, and I use FW 1.1.95

23 OCTOBER 2011

1.1.95 Speed signal shows only speeds of up to about 63-65 km/h. Updated to 1.1.96, but the problem remains. Calibration is spot on according to GPS. The car has a Reed-relay with a 2x4 pole magnetic sensor ring (8 field impulses/rev. so with 2 meter circumference 111=100 / 3.6 / (2/8) ). I moved the cable a bit around to take noise into account, but no luck. Also, up to about 1.1.88, it worked as intended, showing higher speeds as well.

Any ideas?

Log file added here ( There is also a trigger error in it that I am battling with.

The problem is the configuration:

UPDATE 05 MAY 2011

Hi, any idea how I can make VemsTune gauges react to the values "deltarpm", "drpmdt", and "delta_t"? I am trying to display a HP/Torque gauge that takes gear into account. If I could get VemsTune to display a reaction to one of the delta values, I'd just need to apply a few weight factors.

Have already attempted under symbol/descriptors, and the values show up and can be chosen for the gauges, but nothing moves.

Currently it is not possible. Actually the ECU does not send it and the VT still cannot calculate with the previous(t-1) value of any data just the current data, but it is on plan to VT do this calculations.

Thanks for replying. I will do the calculations in a spreadsheet for now.

UPDATE 17 AUG 2010

Major improvement at idle and part load. All traces of hesitation have disappeared. And I haven't even added fuel - GREAT JOB, GUYS!

UPDATE 16 AUG 2010

Problem solved!

Turned out that a conflicting channel for N20 and Launch could provoke this, although none of those two functions had active settings (RPM, MAP, TPS etc.). I specifically DISABLED everything that wasn't needed, and the misfire immediately disappeared.

UPDATE 12 AUG 2010

Misfire datalog...

UPDATE 10 AUG 2010

Misfire with 1.1.80: tried installing 1.1.80 a few times, but the car (5 cyl. Audi S2 3B engine) misfires on one cylinder from idle and at all other engine speeds. When I downgrade to 1.1.79 or 1.1.70, the problem is gone. Seems to be the last cylinder that misses, so if I move the sequence, the misfire moves along to another cylinder. Is it possible that the injector calibrations/angles don't apply to the 5th cylinder (or the last cylinder in the sequence)? The engine runs, but the car isn't really driveable. Even tried adding fuel to the cylinder in question, but that didn't make any difference.

Also, the instrument needle turn at cranking made my needle fall off. Can I deactivate that function?



I have been experimenting with injection event timing to clear up a slightly uneven idle (although much better since MAP filtering was enabled in the "ECU Calibrations" dialog). Also, I had a slight hesitation under light to medium load from 1800 to 3000, although Lambda values were spot on or even to the rich side.

This made me look at the actual injection event. Although much has been said about the relevance of pre-injecting against a closed valve/closed valves (if one does not adjust injection angle he will MOST likely inject on closed valve), other developments like injectors with very accurate spray patterns (like Audi V6 Biturbo) point to the relevance of starting the injector just as the valve opens

Anyway, having an engine with an uneven number of cylinders, and working on the assumption that VEMS has simultaneous ignition and injection events (basically at TDC, although ign is obviously moved forward based on the relevant table), there is no logical way of injecting on or after TDC with a 5-cyl. engine. I need to move inj to 72 degrees after TDC on the ignition event.

Would it be possible to make the injection event start adjustable to the opposite side of TDC? I would imagine that some 4 og 6-cyls with funky cams would benefit from this as well.

EDIT: Just found something interesting that may help. Will do further tests tomorrow.

Logs and images will follow shortly...



The actual air intake happens from 360 ATDC (=360 BTDC) to 180 BTDC. But because of injector delay, starting the pulse from 288..330 ATDC sounds sensible.

The injection can be set in 144 degree steps by rotating the inj outputs. Earlier the trigger tooth was also adjusting injection angle (ign_tdcdelay had to be adjusted of course), but this is not the case in current 1.1.7x firmwares.

Depending on the cam-HALL inverter,

  • But aren't the 144 degree increments actually 180 degrees? Seems to me that an ignition event (minus pre-ignition angle) and an injection event are always simultaneous? I have tried moving TDC back and advancing ignition by the same amount to counter that, but much more than 40 degrees is not possible if I want a sensible pre-ignition interval. Car ran notably better on thoose settings. I already tried all 5 combinations on the injector outputs. Idle is at the point where you don't even feel the car running - which is very cool - but there is still hesitation on part load at about 2000 rpm.
  • Swapped injection timing on a V6 Biturbo to test the open valve injection. That engine has 1 and 6 at TDC at the same time, so I inject on 6 while igniting on 1. Not sure why, but that car responds much better, spools to 0,25 bar boost at standstill and has about 150 degrees lower EGT (a lot louder too). Will do further tests on that later - I don't have regular access to that particular car. I was wondering if the valves will suffer from less cooling, but modern FSI engines don't have any contact at all between the inlet valves and the fuel.

Also, the angle in current implementation might drift during trigger errors, possibly during cranking too (this should be easy to fix).

We'll change the implementation: adjusting injection angle should be somewhat user-friendly.

UPDATE 18 JAN 2010

Experimenting with ROUND (used as display for v3)... writeup will follow shortly.

Built a really simple adapter to avoid disconnecting/connecting PC and ROUND.

  • Actually, I wanted to swap between round and the pc. One button position has the pc connected to vemsv3, while the other has round and vemsv3 connected. Although it seems ok to hot-swap, I make a habit of switching off the ignition first. The actual switch can switch conections from 3 input pins to 2 different sets of 3 output pins or vice versa.


Running Motronic 55 pin conversion on one S2 with distributor and another with COP (both 3B engines). 1.1.44 has worked well on both.

Figured I'd try 1.1.54, but the tables for spark and lambda got messed up in VemsTune every time the VEMS had been turned off.

In case anyone else has the same probs, just edit the VemsTune INI-file:

Search for "page 3". The table definition array for lambda has 2 entries that look like this: [8X8] - replace the uppercase X with a lowercase x.

Search for "page 4". The table definition array for spark has 1 entry that looks like this: [12X12] - replace the uppercase X with a lowercase x.

This did it for me.

If your OS moans about editing rights, uninstall VemsTune and install it again outside the "Programs" folder or in an entirely different partition.


Updated the car with distributor to 1.1.62

A few problems with "Acc enrichment" and "Cold starting", but they are all sorted out now, and the car starts and runs great.

Idles excellently.

TODO: Check if boost develops as expected, and if so, update the other car as well.

See running vemscfg below


Still need to fiddle a bit with boost, but I must say that I am very impressed with 1.1.62. My development car (Audi 5 cyl. turbo with distributor) runs better than I had ever hoped for.

Great job on the firmware and VemsTune you guys, and many thanks to Peter Jensen for useful suggestions!

Here is a pic from my other project, a rallyecross Audi S2 that I have modified with coils from a late model S4 V8.


Almost a direct fit with modest tweaking of the coils and a slight grinding-down of the valve cover. In case anyone wonders what the distributor is still doing there, it has to stay for now because it holds the camshaft sensor.


Slight problem with one VEMS box in the race car.

When everything is cold, the VEMS seems to get stuck in bootloader, and the VEMS won't start up. After a few tries, it then boots up.

If IGN is then turned off, VEMS won't boot right away (IGN back ON) unless I wait about 30 seconds.

When the car is warmed up, the problem seems to be gone. The box has 1.1.44, but considering the temperature sensitivity, this seems to be hardware related rather than software related?

LCD just shows completely lit line 1 and 3 when the problem occurs.

Thanks for any thoughts on this.

How long is the RS232 cable ? It sounds like a capacitive "loopback". Plug in a DSUB9 male connector with a 10k resistor between GND (pin5) and RX (whichever pin goes from PC to ECU). This should prevent capacitive loopback (we've only seen this with 1.5m+ long serial cable, but ....)

Excellent, thanks! The cable is very long. It was routed through to the rear of the propshaft tunnel, but I thought it better to keep it away from high current wires, so it ended up having to be 2.5m or so.

Hi Alex any chance I could grab a copy of your vemscfg 1.1.62 please? you can place it in my file area under the Jamo directory

Running vemscfg config and tables:

Note: I was just tweaking idle under load (fan on etc.), so that may not run too well, and boost is not done yet. It boosts, but I am not sure if it limits where it is supposed to. Haven't had a chance to test it yet.

The file is from the distributor version - don't forget to make changes if you run COP.

Acc enrich and idle are often not trivial to get good.

  • note that boostalt_ref table bins are detached from ignadv bins since 1.1.63 - this is very useful in boost_alternate relative mode (VemsTune vemsv3.ini changes apply of course). Other modes and normal (PID) boost output behaviour uneffected.

Many thanks it's just for reference, looks a good map congrats you've convinced me to go with 1.1.62 for my ABY

It is a bit on the rich side under load, but the thing takes off like a rocket. Killed the original friction disc during the test stages, and it had only 16K miles on it :-O. The torsion springs were squashed and seemed to be lacking about a fourth in length. "Definitely a torque-related failure", as the SACHS dealer put it.

Using a diesel block, this is something you will have already addressed, I assume? These engines are capable of producing torque way beyond the capabilities of gearboxes and driveshafts.

I'm running a sachs sintered racing clutch, the car will produce roughly 750+ nm of torque at 2 bar boost!. I think however i'll back the boost of to a lower level to preserve the gearbox as noted although the late ABY and RS2 6 speed boxes are quite strong