TPS Spoof
The KLX300 ECU pulls up to 6° of ignition timing at high RPM whenever it sees 80% throttle or more. TuneFI keeps the ECU below that line — and re-adds the fuel it stops giving.
The problem
Kawasaki built a limiter into the factory ECU: at high RPM with roughly 80% throttle or more, the ignition map switches to a retarded one — up to 6° gone above 8000 RPM, worth about 2 HP. Exactly when you pin it. We decoded the map from the ECU binary; the full story is in the ignition article.

The spoof
TuneFI sits on the throttle sensor wire behind a relay. Normally the relay passes the real sensor through untouched. But once RPM crosses the engage threshold and your real throttle goes past the cap, TuneFI flips the relay and shows the ECU a signal it generates itself: a steady 75%.
The ECU never learns you're actually at 100%. And since it only retards timing at 80% throttle or more, it stays on the fully advanced map all the way to wide open. The defaults sit a few percent below the factory triggers — 75% cap against the 80% line, 7800 RPM engage against the 8000 band — so sensor tolerance can't push the ECU over the edge.
The catch
The ECU computes fuel from what it's shown. Convince it you're at 75% and it fuels for 75% — a lean engine at full throttle if nothing else happened. Lean is the one thing a fuel controller must never do.
Spoof fuel compensation
So the moment the relay engages, a second mechanism switches on: a compensation curve, completely independent of your fuel map. It tracks how far past the cap you really are — nothing changes below 75%, and at true wide-open throttle it adds the full table value for the current RPM. It stacks on top of whatever map is loaded: the stock base, a shared map, or one you built in TuneFI Studio.
The curves aren't guesses: we read the stock VE map out of real KLX250 and KLX300 ECUs, computed exactly how much fuel the ECU stops injecting at each RPM past the cap, and shipped the result — rounded, then biased a couple percent rich. Rich is safe, lean is not.
If it ever fails
The relay is fail-safe by construction. Cut power, unplug the unit, hit a fault — and it falls back to the real sensor. The ECU sees the truth again, compensation switches off, and fueling is bone stock. The symptom of losing spoof is the ignition retard coming back: a power dip, not a lean engine. There's also a plain on/off toggle in the app.
Everything is configurable
Nothing here is locked in firmware. From the app — map screen, SPOOF chip — you can flip spoof on or off, set the engage RPM, set the throttle cap, and edit the compensation curve point by point. The shipped values are defaults, chosen per model from the ECU decode; they're a starting point, not a prescription.
The source
The power cliff at 8000 RPM
How we pulled the factory ignition map out of the ECU binary — and what full throttle costs on a stock KLX300.
Spoof compensation is its own layer and composes with any fuel map. Starting maps live on the fuel maps page; build your own from ride logs in TuneFI Studio.