VEMS uses the PS2 clock signal to receive 0/5V wheelspeed1 frequency signal.

Became very popular, so 2nd wheelspeed input was also implemented in software (if you need 2, request "2 wheelspeed inputs" in the order comment, see below).

[v3 help].

Protected connection of wheelspeed 1 - suitable for HALL sensor that pulls to GND, or 0/5V or 0/12V signal.

The circuit installed by default (WHEELSPEED_IN=EC18/8) when controller is ordered with PS2=NO (which is the recommended default):



[PS2 wheelspeed cable] might come very handy for a controller ordered with PS2 (either accidentally or in the past: because PS2=NO is a better option !)

Warning: Sensitive pin

PS2 clock input is a direct CPU pin. It is very sensitive. Either static electricity or 12V will damage the main processor immediately.

Customers are advised to request in the WebShop order note:



With the 5V1 zener it is less likely to damage it, and an open-collector HALL sensor or a VR signal and a simple NPN inverter (same as CamHALLInverter?) can be used to drive the signal (LM1815 is not necessary for this, although that would work too). Care is still needed of course.

Second Wheelspeed input

Implemented in Firmware 1.1.84. Available only in non-PS2 firmwares. Connection is on the processor SCL pin, need protection and pullup resistors.

If needed, ask in order comment : protected second wheelspeed input on processor SCL pin (= Atmega128/pin25) same as wheelspeed2.


Wheelspeed data usage


The good old initial launch behaviour with retard and launch-enrichment is still there.

But after reaching the first entry in an 8 entry table (array), no retard, no enrichment:

2x8 bytes for wheelspeed => RPMlimit. Firmware uses interpolation for smooth transitions between table-points.

RPMlimit is in 100 RPM unit.

wheelspeed is the unit of your choice. Usually:

The same table is time => RPMlimit for the PS2 firmware where wheelspeed is not available. Time is in 64 msec unit.

The first and last bin in the table are somewhat special:

"Launch RPM vs Road Speed" screen:


Note: the "launch-active" flag in VemsTune only lights up when the RPM-limit is reached (not when the button is pressed - this can be confusing). So if you want to test an analog input switchbutton, configure the ALS input to that pin to see that it lights up.

Temporary note - for .ini file tweakers.

This section should be cleaned up when these are deployed in both MegaTune and VemsTune 2009-05-xx releases.

Direct commands for page15 (launchcontrol wheelspeed=>launchRPMlimit) read/write are [] brackets.

Check the mct dump to see if s[0]= and s[1]=... values are set as you expect.

LaunchRPM? vs. Wheelspeed Curve Questions from Kevin


Freq to voltage - could also be used if more than 2 wheelspeed inputs required

[LM2917] (see appnote) frequency to voltage converter to get wheelspeed info (on display, logging, anytrim, ...).

brieken: Would it be possible to use gps speed as wheelspeed input. This would create a "non driven" wheel on a 4WD car. So we can measure wheelspin.