Thunderace EFI

Thunderace EFI - Day 10 using MSExtra 3.0.3u

Well I got MegaTunix going early next morning, and all I did was upgrade to the "git" version, and it worked thereafter.

Anyway, I’d thought I'd test it out on the bike, so another trip was needed to look at the compensation issues. The conclusion is this whole battery voltage injector compensation thing is quite testing, which is compounded by the poor state of the battery, but this is a good learning process and can only mean better refinement.

I found I am using really small values for the adjustment now 0.050 msec/V from the default of 0.200msec/V, but obviously I am playing around with the Req'd Fuel & Injector Opening Time. It looks like I might have to change the VETable resolution, because at stoich the difference between 16 or 17 in the VE bin sends it too rich, so I'll be doubling the numbers and halving the fuel.


I did manage the above, but I think the compensation was 0.00msec/volt, but under cranking it was a big starting issue, as the 9.0V under the starter, affected the idle and ASE quite a bit. I rounded off my hour or so of tweaking by adjusting the acceleration enrichment tapers, after switching AE on of course.

However being an Alpha-N/ SD blend, I spent quite a bit of time reducing my very small part throttle openings, as they were far too rich, which means modding VETable 2. This actually works rather well without having an acceleration enrichment enabled, and I can see this is a useful tool to smooth out very small throttle transitions. It would be a lot more useful to do this under some load, but this bike isn't on the road yet, and the rear end is being overhauled I can't dyno it, as the wheel and other stuff is pulled out.

I also played with the TPS/MAP blending and the thresholds, and got good "very sudden snap open throttle" response by lowering the MAP threshold from 150 to 120. I also have very little ramp slope/gradient on my AE curves, as I am running way too rich under acceleration, and this is a lot different to how I started.

I am using 3.0.3u at the moment, and surprisingly I did notice the ASE light coming on when blipping the throttle, and revving the bike, which I'll be looking out for again next time I play with the engine, as it could be a bug.

Finally, I got MegaTunix 0.9.22 hooked up to the engine as a parallel development in OSX on the MacBook Pro, and other than a need to rework the gauge limits/layout, it is surprisingly fast and quite a bit different to TunerStudio. Obviously I am used to the latter, but MegaTunix looks like another useful tool in the MicroSquirt tuning library.

Next up is rework the .ini file so that the AFR readings can be used to tweak the VETable automatically. I probably need to restrict it to one table, VETable2 as MAP fluctuates quite a lot with very small throttle openings.

Tables look like this now...and the refinements are just right of idle around 65-75 kPa (fuelload% in this graph below), in VETable2.


Thunderace EFI - Day 9 using MSExtra 3.0.3u

Another chance to do a bit on the engine today, and it's been a while, but I have been on holiday for a few weeks.

The bike was resistant to starting on the low battery. It wouldn't quite catch, so I checked the fuel...and that was that

More fuel in the tank and after a short time I switched on the LC1 and immediately noticed the engine was running weak, so I decided to tweak the WUE values closer to stoich, and continued to do so as the engine warmed. The idle was relatively steady, the VETable 2 SD blue dot holding in a tight group, and then the fan cut in...suddenly the engine went richer. I had noticed this before, and homed in on the voltage compensation for the injectors, so I tried to bring this closer to stoich, by reducing the compensation...however when the fan stopped the previous stoich setting was too weak.

I jumped a battery across the system to try and stabilise the fluctuations, but it made hardly any difference. I tried reducing the injector time, required fuel, VETable bins etc and modding the correction, but it was never 100%. I need to mod the dash next to view in realtime battery voltage, PW and AFR, as I think this is the main reason for my idle fluctuations, and taking a snapshot will prove this. I know I can use MLV, but this is good enough.


The screenshot above from the left after the fan cuts in, and the engine is too rich, when it stops it's close to stoich, AFR=14.7:1

Interestingly there is no lag compensation for "battery voltage", yet there is for other sensors, and other stuff.

The other few things I tried was very small throttle openings and tweaks to the SD VETable 2, just off and around idle, and at the same time maintain close to stoich, which is not what you’re supposed to do, as you try to get the lowest MAP value & smallest fluctuations in RPM, but I can refine this later with a target AFR table. By the time I had enough, it was starting to get very much smoother, and I really enjoy working with the TunerStudio software.

Incidentally, I did try MegaTunix in a back to back attempt, but I couldn't get the USB Serial adaptor to be seen in X11, and so I must be doing something wrong.

Thunderace EFI - Day 8 using MSExtra 3.0.3u

Another trip to the bike today and another "cold" start, but it was slightly warmer, and I needed a little throttle to make it catch. I started TunerStudio on the laptop, and after I had burned the condensation out of the pipe, I fired up the Innovate LC1. I was sniffing & watching the AFR as it got up to operating temperature, and at the same time tweaked the WUE & ASE curves to maintain stoich (AFR=14.7 to 1) give or take a bit.

I disabled the acceleration enrichment, made sure all temperature related stuff was not adding corrections, and although I can’t say the methodology is perfect, it is appearing to work.

One thing I did notice, the engine was hugely rich, and it had me confused at first, and after looking at some video my pulse width was fluctuating. I suspected some compensation circuit was doing it, and it turned out to be the battery voltage compensation for the injectors was causing most of it. As the voltage climbed (battery charging) the engine was getting richer, so I leaned it off on the VE Tables until I reached stoich, and then waited for the voltage to climb again, which made the engine richer still. I adjusted the ms/V figure downwards, until the engine was more consistent, in that battery voltage increases (as the on bike battery charges from the alternator) were not causing excess richness.

Next up, was part throttle response and adjusting the VE Table to suit. I was quite surprised by the numbers, as the engine needed less fuel than at idling to make stoich, and by adjusting the speed density map too in VE Table 2, actually made the engine smoother.


By now I had worked the engine for about an hour revving it upto 4K rpm at various small throttle openings, and there was a definite improvement in part throttle response as a result of todays work. Unfortunately, there is only so much you can do without upsetting my friends neighbours, so I had to finish.

Overall I am still well impressed how it is going so far, and the cased MicroSquirt, TunerStudio and the MSExtra code is working very well together.

Thunderace EFI - Day 7 using MSExtra 3.0.3u

Not really another day, just a short trip over to the bike, and check on the cold starting. The bike started first few cranks from cold, and repeatedly thereafter. Nice slow idle, much slower than OEM on warm up. Really pleased, as I seem to have cracked this one now.

Bike is not going to the Treffen now, as I don’t have enough time, with work commitments to completely shake down the project. This is a slight disappointment, because a few people were looking forward to seeing it, but truthfully it gives the owner of the rolling chassis more time to prep it, and me more time to ruggedise the installation.

Next up is fit the equipment to datalog the red GTS1000, mod the exhaust for an additional lambda sensor, and design a new cam sensor location for the cam cover, so I have the capability to go full sequential on fuel and ignition.

Thunderace EFI - Day 6 using MSExtra 3.0.3u

After another age, a quick nip over to the bike and play with the revised priming pulse, after cranking rpm bin, and a cold start. I first of all deactivated the fuel pump, hooked up the laptop to the MicroSquirt and updated the new TunerStudio settings into the controller aka MicroSquirt. Then I activated the fuel pump and ignition circuit, and hit the starter button, one crank, two crank and fire. Wow, nice slow idle, ASE and WUE active.

Try it again, and ASE drops off very quickly, so I increase the Taper Cycles. Once the WUE goes out, I switch on the Innovate LC1 and let it warm up on a running engine, and revise the VE Table 1 some more. The low rpm bin I created is too rich on a hot start, so I lean it down, and bingo the engine fires first touch from hot. Idle is a little slow, so I adjust the throttle body stop, and increase it to around 950 rpm. More tweaking of the VE Table 1 (Alpha-N), and the engine starts really quickly hot.

I am getting quite a bit of PulseWidth variation under idle, and I wonder whether its battery voltage compensation, as the battery voltage is low, and the alternator is charging it. I will have to do some more reading, because although the ignition advance, VE Tables 1 & 2 are in stable zones (no fluctuations in the bins) I am getting a variation in idle speed that directly correlates with PulseWidth movements. I have noticed a variation in MAP, but as I am using Alpha-N, it shouldn't affect things. I will have to look at my settings some more, but I am nitpicking really. You can see the AFR (yellow) fluctuating below.


and as I said, the rpm is sitting within a tight cluster (blue dots in box)


The engine will idle at sub 750 when warm, yet the manufacturers spec 1100 rpm, so I am really impressed with what I have got here so far.

Next instalment, will see fresh plugs, LM1 datalogger with LMA-2 accessory, which will log AFR, MAP, TPS & RPM and help me dial stuff in. I also need to put a centre stand stop on the exhaust, as well as get Tony to get a move on rebuilding the cycle parts, especially if we are to take this to the Treffen this year.

Thunderace EFI - Day 5 using MSExtra 3.0.3u

Just another update, but it is slow going at the moment, because work and other stuff is coming first.

Another little session, but this time with the Innovate LC-1 hooked up. No real surprises, although after tweaking the kPa bins, I need to tweak the Alpha N side some more.

I also need to correct the .ini to allow VELive to tweak VETable2. The engine is capable of idling at very low speeds at around 750-850, when 1100 is the norm, and as I am running semi sequential, I have been playing with the timing windows for the injection points. I was surprised to discover the idle was well rich, but although I have calibrated the Innovate LC-1, I think I will have to look at this some more.

Latest video link, just a short clip showing a hot start, ASE working, and WUE still enabled. I am going to do some more work on the colder starts, as it takes a few ignition key on/off cycles to get a stable cold idle...it fires, but doesn't maintain until after third attempt. I realise it's trying to tell me something, but I have not read up enough on this. I suspect the WUE or ASE is not good enough (too little fuel) at the starting temperatures, and it's also because of the wax capsule that opens the throttle slightly when cold.

Thunderace EFI - Day 3 using MSExtra 3.0.3u

Finally, I have had another day off, been four weeks now and yet still found time to look at the Thunderace engined GTS1000 EFI project for a few hours.

I brought two cased MicroSquirts along, one running the original 3.0.3s code the other running the latest 3.0.3u Alpha code. After a hesitant start, brake cleaner to the rescue, my cranking rpms were set to low and the fuel value above this was half what it needed to be, so the fuelling needed hiking up.

Apparently the MSExtra semi sequential code also needs a different required fuel constant (half of the normal untimed injection mode)

After a few minutes and swapping the MAT and Coolant wires in the loom adaptor, I started to get sensible readings. A few tweaks to the acceleration wizard, mods to injection timing etc, and I got a steady idle on an unknown engine. I am still not able to time the bike, without spraying oil over my glasses/timing light, so just modifying fixed timing or using a table is pointless at the moment, although it does affect the smoothness of the idle, if I delay it 90 degrees more. This might be because the injectors are paired to the wrong ignition channel.

It actually sounds very good off idle and you can rip the throttle and it takes off, no baulking. I am well impressed, and have ordered a lambda sensor sleeve of eBay to mod the exhaust further. My mate needs to get the rolling chassis up to spec now, and I will refine the rest of the fuel and ignition tables on the road, so it's up to him now to get on with it, as it'll take a week or so of constant refinement to get it to a touring/cruising standard.

PS The latest code is definitely cleaner running.

Thunderace EFI - Day 2 using MSExtra 3.0.3s

Finally a day off work, and a little play again, as I needed to sort out the irregular slightly lumpy idle. Once I reloaded the MicroSquirt with the last running settings from Day 1 few weeks ago, I managed a start, but I need to tweak the cranking pulses, as it took a little bit of brake cleaner to get it going.

Once I did and after the passage of time, I began to think the idle fault was an air leak in the induction system. The quickest way to test this, is to put your hand over each throttle body and choke the engine, if they all die at the same rate, it's unlikely to be one, but on doing cylinder 2, I got a hissing sound.

Further investigation showed it had no pilot or idle screw, as it had been used as a sample perhaps for the new batch that were made, as part of my idle screw replacement kit. It was close on three years ago...that's my excuse! 

Once I got the engine warm, I realised the air temperature and coolant sensing had switched, so it was affecting the fuelling and advance, so no wonder I had problems with the timing light. It is a software fault with the alpha code I am using, that I was not aware of, so hopefully it won't be there when I upgrade to 3.0.3t. Once I had eliminated all the temperature corrections, I balanced the throttle bodies, because I had replaced the idle screw now, and I found 1 & 2 were out with respect to 3 & 4.

I have now got the bike running nicely (on the centre stand) using "untimed injection" (or batch injection), and "semi sequential". Both of these do not need a cam sensor, but have different fuelling algorithms. The bike sounds good and revs nicely in "untimed injection" mode, but the "semi sequential" mode needs a little more work, and it looks like I might be altering the OEM advance degrees...the figures in the black box, as you can hear a roughness at around 4K, although it's only revving to 6500 in this test on part throttle. There is another bug with this mode which is apparently a double fuelling glitch, but it seems I also have to alter the Acceleration Wizard quite a bit in semi sequential, and I now have to do some more reading to understand this, and the bug symptoms.

Thunderace Running Day 2

I am well impressed with the Thunderace conversion so far, it's just unfortunate the neighbours are too close, and I am working tomorrow, otherwise I would be further down the line, by the end of the weekend, although I have uploaded the latest Alpha, 3.0.3t, into the MicroSquirt and started looking at the settings some more.

Thunderace vs GTS1000 Dyno Graphs

These Thunderace HP dyno graphs look promising...

Thunderace EFI - Day 1 using cased MicroSquirt


Today is the end of one journey and the start of another, as finally the Thunderace engined GTS1000, which is connected to a cased MicroSquirt using the stock wiring loom and ancillaries started to idle. It was a little lumpy, but as it's only day 1, but first impressions are it seems snappier on part throttle looking at the video, which suggest it will be quicker revving. The engine also has a higher compression, so the maximum torque figure should be higher, but as to what the cam timing, port differences and the EFI do, it's just guesswork.

There are a couple of videos, one is 20MB, the other 11.5MB, and you’ll need Quicktime

The ignition timing needs tweaking, and for some reason the coolant temp is too low and the air temp too high, so I am going to load the latest alpha 3.0.3t, which fixes a few things. Also the injection event is slightly off, or at least it sounds like it is, with that lumpy idle, but again I am running tired stock coils to create an electrically noisy environment, which is not ideal. I will be fitting my R6 stick coil conversion once I get smooth idle, and nice throttle response (unloaded, until I dyno or go down the road)

There is no lambda or O2 sensor in the exhaust yet, which needs tweaking (more upswept) too, before I can go down the road, but I will be fitting an Innovate LC1 wideband, once I put in the bung.

The bike is going to go to the this years European Treffen at Harz, but it's a friends hack bike (that had a rattly GTS engine) with my engine fitted. This means it has to be rebuilt properly to pass its MOT, before it is taxed to go down the road. He also needs to upgrade a lot of the tired metal and plastics, swap the shocks for Öhlins, different seat, swap to Krauser panniers and higher windshield for touring.

When the bike is roadworthy, I am sure it will bring a smile to our faces, dispel a few myths about the GTS engine superiority, and give others the opportunity to explore this conversion, if they want too. It won't stop there for me, as I will be fitting different throttle bodies and injectors later.

Thunderace crank plots

The start of the Thunderace or FZR code development... Read More...

FZR and Thunderace cranks are not 8-1

After trying to get this crank to run, it’s now obvious I cannot use an 8-1 crank setting in the MicroSquirt, as it’s really eight minus “not quite a whole tooth”. This is a problem for the B&G2.890 code, as missing teeth can only be a whole number.
I can possibly fool the MicroSquirt if I reverse the polarity of the VR sensor, and then it’ll be seeing 8 teeth, but I’ll need to add a cam sensor. Read More...

GTS1000, FZR1000 & Thunderace crankshafts

The Thunderace and FZR1000 are both 8-1 tooth (almost), the missing tooth or reference position is the single milled slot as opposed to the seven part drillings. No wonder the Thunderace project wouldn't fire using the GTS1000 ECU. Read More...