GOLFMK8
GOLFMK7
GOLFMK6
GOLFMKV

New piggyback system

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
Hey everyone,

First post here. Coming from the land of flashpro it feels like the MK7 has limited tuning options available to the end user. The JB1/4 seem like a great product for the average person though for some it looks to be a bit limited on what can be adjusted. So i sought out to design my own for my own benefit and to satisfy my need to tinker, only installed the first prototype in the first week of July but its starting to become fairly powerful. Not sure where it will go from here (if anywhere) but if there is enough interest I may release it as opensource or possibly as a kit. Current tables and settings below (more to come and suggestions welcome).

//2015 PP with gutted DP, 3rd gear partial pull with older settings (some of the columns may be a bit confusing but "average boost" is the actual boost in the manifold and WOT timing has always been below 0 on this car for some reason)
https://datazap.me/u/switchleg/3rd-gear-pull?log=0&data=7-9-19

//Tables
EngineTable_t BOOSTPEAKTable = { //Limit of average boost
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{10.0, 15.0, 16.0, 19.0, 21.0, 22.0, 23.0, 23.0, 19.0, 18.0, 17.0, 15.0, 14.0},
};

EngineTable_t BOOSTMULTTable = { //Additional boost on top of stock in percent
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{ 0, 0.05, 0.15, 0.20, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.20, 0.15, 0.10},
};

EngineTable_t BOOSTCAPTable = { //Additional boost allowed on top of stock
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{0.00, 1.00, 2.00, 3.50, 4.00, 4.00, 4.00, 4.00, 4.00, 4.00, 3.50, 2.00, 1.00},
};

EngineTable_t FUELTable = { //Amount to bias fuel rail (this can be optimized due to engine flow efficiency)
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60, 0.60},
};

EngineTable_t AFRTable = { //AFR lambda adjustment over stock
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{ 0, 0, 0, 0.02, 0.09, 0.11, 0.12, 0.13, 0.13, 0.13, 0.13, 0.13, 0.13},
};

EngineTable_t IATTable = { //Multiply computed boost depending on air temp
{-40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80},
{0.0, 0.1, 0.5, 0.8, 1.0, 1.0, 1.0, 1.0, 0.9, 0.8, 0.5, 0.1, 0.0},
};

EngineTable_t COOLANTTable = { //Multiply computed boost depending on coolant temp (safety)
{ 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150},
{0.0, 0.1, 0.3, 0.5, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 0.8, 0.5, 0.0},
};

EngineTable_t SPEEDTable = { //Multiply computed boost depending on speed (traction)
{ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130},
{0.0, 0.1, 0.3, 0.5, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0},
};
 

ChrisMk77

Autocross Champion
Location
Sweden
Car(s)
2018 GTI Performance
Looks like some really cool features with better logging and parameters already, like railpressure.

How do you read AFR, with the O2 current mv?
 

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
Sorry the O2 reading has to be calculated manually at this point. More logging and testing to do on the O2 but currently its fairly close (STFT are a good indicator and currently don't move more than 5% with current calculations). I am spitting out the O2 lambda that the ECU is reading and the o2 voltage applied to the transistor that is adding current to the O2 pump circuit. To get the current its roughly the o2 mv and subtract 450mv (changes with temperature slightly but 450mv is close). When the ECU is asking for stoic 220ua ((670mv-450mv)/1000=220ua) will drop the AFR by roughly 10%.

This system allows for peak boost as well as clamping additional boost... so you could look at it like the JB4 map 2 and map 6 working at the same time. Now I don't know if this necessary but my assumption is this should allow for better tuning for different altitudes and temperatures so no more summer/winter tunes that ppl tend to do.

This log shows the peak boost kicking is on the first pull during the spool up spike and also in the second pull in the 4000rpm range making the boost curve nice and smooth but in the 3000rpm range its hitting the adder limit (and IAT cuts a bit off as well).
https://datazap.me/u/switchleg/2021-08-15-new-log?log=0&data=9-12

This log shows new STFT correction is now working. Also O2 is out putting O2 biasing current instead of voltage.
https://datazap.me/u/switchleg/2021-08-15-testing-stft-correction?log=0&data=3-5-7-9-19
 
Last edited:

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
Morning log. looks like my 4psi limit is too low in the colder turbo weather we are experiencing here today. Upping the 5k-6k adder limit and multiplier. If you click and select layout 'default' it will show the most relevant stats.
https://datazap.me/u/switchleg/2021-08-17-morning-ramp?log=0&data=3-5-7-9-19

With my altitude this car stock pushes 21psi at 4300rpm on a warm day but only 18.5psi on a cold day. I have tried adding 5psi on a hot day and she will take 26psi but timing tanks so I am not sure how people can run the JB4 map 2 all year round without issues.

New settings after this log.
EngineTable_t BOOSTPEAKTable = { //Limit of average boost
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{10.0, 15.0, 16.0, 18.0, 20.0, 22.0, 23.0, 22.0, 19.0, 18.0, 17.0, 16.0, 15.0},
};

EngineTable_t BOOSTMULTTable = { //Additional boost on top of stock in percent
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{ 0, 0.05, 0.15, 0.20, 0.25, 0.25, 0.25, 0.27, 0.35, 0.35, 0.30, 0.15, 0.10},
};

EngineTable_t BOOSTCAPTable = { //Additional boost allowed on top of stock
{1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500, 6000, 6500, 7000},
{0.00, 1.00, 2.00, 3.50, 4.00, 4.50, 4.50, 4.50, 4.50, 4.50, 4.00, 2.00, 1.00},
};
 
Last edited:

AceHammer

Go Kart Champion
Location
NY USA
Car(s)
2015 A3
Just curious, what sensors are you tapping into, the same as a JB4?

In order to run a jb4 map 2 in the summer, I had to have a catless DP and an IC, even then I could feel it pull some timing once stuff gets hot. An IS20 just doesn't flow well above 24PSI well IMO
 

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
Thanks for the reply. Ok so i am not the only one noticing timing above 24PSI becomes an issue. Pretty sure water would resolve that issue but on a car with only a DP and 93 octane in the heat timing correction becomes an issue at times if you just add a set amount of boost. This is the reasoning for the logic i decided to use for this system. Essentially its setting two maps, one for cold weather and one for hot and they are running simultaneously allowing warm days a mix of both always giving you a safe amount of boost while keeping it close to the limit.

Same sensors as the JB4
-map sensor
-charge sensor
-fuel pressure sensor
-IAT (not altered at the moment)
-o2 sensor pump current
-obd2 port
 
Last edited:

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
Hrmmm, had not heard of it until now. I will look into it.

Though this was essentially free for me since i had all the parts at home sitting on the shelf.
 
Last edited:

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
There are more PIDs i can log which can be read on a standard elm reader using a program like torques. It is possible to read special PID like VCDS but i believe would require another protocol and more information. If anyone knows the PIDs for ignition retard for individual cylinders please share!

Also the obd2 port speed is limited so i update o2, rpm, stft as fast as possible and queue the others so they update at slower rates.
 

Switchleg

Ready to race!
Location
Edmonton, AB
Car(s)
Mk7
Hey Jake,

A FMIC is a thought but looking over the data on mygolfmk7.com I feel water meth injection might suit my diving needs better. Also it would be something new to program into the Switchback system.
 
Last edited:
Top