Subaru JDM/Euro EJ207


Subaru Impreza STI JDM/EURO 2001-2005 (265-280)standard

pink topfeed injectors 550cc

Cop ignition coils firing order 1-3-2-4

the engine is a boxer engine, there for there is right and left

cyl 1+3 is right side

cyl 2+4 is left side


Subaru AVCS dual cam control is working now. We will continuous testing in the near future.

Big thanks to the development team

Testing 2 trigger + 2 cam input

Log file of cam

Trigger log

The avcs control does not work like its surposed to, the sectric and thirdtric is showing around 167degrees when at idle

Note: config.strig_validation bits

//See global.h... bit 0,1 camshaft measure count for Subaru and Suzuki VVTI

  1. define CAMSHAFT_MEASURE_PULSE_CNT_MASK ( _BV(0) + _BV(1) )
  • yes tooth 2,5,8 or 11 can be selected
  • so the 36-2-2-2 subaru triggercode had traditionally 2 configbits (bottom of config.strig_validation) for setting the "measure tooth at". Back in those days the separate "sectrig measure tooth" and "thirdtrig measure tooth" did not exist (and config was not changed to not cause upgrade problem)
  • from fw 1.2.13 (2013-05-13) the "measure tooth at" values are used (and config.strig_validation bit0-1 neglected for subaru and suzuki 36-2-2-2) the same config bytes similarly as for other triggertypes (0-15)
  • so when i try to advance it to more then 180degrees it will show a measuretooth of 30-40degrees,this will result in the DutyCycle? to go to 100, and the engine will stall.

Is the degrees in the table cam or crank?

it would be nice to be able to change the degreeangle,so on this setup i could type in a trigger angle error of +-167degrees,this way the 2d table would be all 0, instead of 167 as zero.

Also i cant seem to control the avcs solenoid easy, but maybe it will be fixed when the toothcount measurent is right.

See log for when i try to control it, Thanks Skassa

1: __primary trigger__: Crank trigger Vr (36-2-2-2)


2: __secondary trigger__ : Cam trigger Vr left cam(2pulse)none moving


This is the trigger setup to get the engine running sekventiel


3: __Third trigger__ : Vvti intake cam left side Vr sensor (boxer)4 spots/90degrees moves when avcs is controlled

  • any idea at which primtrig tooth does it cross the 0V line (negative-going edge) ?
  • no sorry, this is scopeshot while cranking 180rpm

4: __4th trigger__: Vvti intake cam right side Vr sensor (boxer)4 spots/90degrees moves when avcs is controlled. With the "wheelspeed2 calibration=1" config, "secondary trigger position" will reflect the angle of this (so control will use this as feedback signal instead of sectrig)

  • any idea at which primtrig tooth does it cross the 0V line (negative-going edge) ?
  • no sorry, this is scopeshot while cranking 180rpm

See 1.2.4 on GenBoard/UnderDevelopment/FirmwareChanges , it refers very clearly to where the 3d and 4th trigger 0/5V logiclevel pulses must go in.

This setup uses all 4 vr sensors:

  • Trigger4 via VR=>HALL adapter: wheelspeed2 input (without heavy filtering and without divider) used for 4th trigger.


Firmware mod was implemented in 1.2.4 to use all 4 sensors

see GenBoard/UnderDevelopment/FirmwareChanges : with wheelspeed2 calibration=1 "sectrig position" measures "4th trigger input" (SCL pin similar to 2nd wheelspeed input)

  • a good workaround, required because the camsync does not move with cam actuation (and the signals that move are not suitable for camsync as it would make sense like in all other VVTI implementation BMW, Honda, Ford, etc...).

Is this correct?


Yes, seems correct !