Hondata Tuning Guide

From FK8 Wiki
Revision as of 00:27, 20 January 2021 by Kefi (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This guide covers nearly every aspect of custom tuning a 2017+ Honda Civic Type R using a Hondata FlashPro. It was created by Kefi from the FK8 Clinic and is meant for those that are already familiar with EFI tuning and the Hondata interface. There are many videos and courses online about both of those subjects, so many general topics won't be covered in depth here in order to focus on techniques specifically for the FK8. It is very long, but every piece of information in this guide is necessary to produce a proper calibration.

This is not a guide for those who just want to get their Type R tuned on a basemap or a custom tune by someone else. If you do not understand the fundamentals of EFI tuning, you should not attempt to follow this guide blindly. An FK8 ECU is great for someone to learn tuning on, but you must understand electronic fuel injection first.

General information regarding tuning and modifying a Type R for more power can be found on the main Tuning article.

While some of this guide also applies to other Type R tuning platforms since it is still the Bosch ECU, many of the tables, mods or sensors used in this guide are not available or work entirely differently. We recommend using Hondata to get the best results.

FK8 Clinic is always willing to help both self-tuners and professional tuners. Email or DM @fk8clinic if you need more help.


You are fully responsible when using the information in this guide. This is meant to be purely informational on a platform where there is very little info, and some things may not be correct or even safe. Lots of this information is guesses made after years of experimentation. Many of these techniques are still being refined or even discarded due to the ongoing developments in understanding the FK8 platform. There is no one way to tune a car. While the ECU is considered 'relatively safe' to tune on, you still can push the engine too far and damage or destroy it, especially if you are not doublechecking the torque output with a dynamometer. Just because your torque request is set to a certain 'safe' torque does not mean the ECU won't significantly overshoot the torque you request, and it is quite easy to do so.

Core Concepts

To tune a Civic Type R, you must first become intimately familiar with a few concepts that affect nearly every aspect of the tuning process.

Bosch ECU

The 10th generation Civic Type R does not have a Honda ECU, instead featuring a Bosch MED v17.9.3 which is essentially a one-size-fits-all ECU for OEMs. The techniques for tuning them are significantly different. Experience in tuning other Hondas will not help you here other than being familiar with Hondata.

Luckily, Hondata has managed to make their FlashPro tuning platform and most of the advanced features like traction control work with the Bosch ECU so existing Hondata tuners do not have to learn an entirely new tuning platform. The only other Honda to feature this ECU was the 2015+ European FK2 Civic Type R. It is also commonly seen in BMWs and VAGs, although each Bosch ECU has it's own set of techniques the manufacturer has chosen to use and the 17.9.3 is specific to Honda.

The biggest thing you'll need to get used to is that the ECU calculates most things instead of simply looking them up, most tables are limits rather than targets, and nearly everything has inertia or PID control. The downside to all this is that the ECU is insanely complex and it's that much harder for Hondata to find the correct tables, parameters, and routines to replace. There are many behaviors we still haven't figured out and may very well never figure out. If you've ever asked 'why doesn't Hondata add X/Y/Z, they had it on other platforms', it's because it's an absolute nightmare to fiddle with even the simplest of things on this ECU. Hondata owns multiple daily driven Type Rs. If it was worth the time, it would be there.

However, the dynamic nature of this one-size-fits-all ECU ends up being beneficial to tuners. All of the calculations are all real-time and not hardcoded into the ECU, so we can modify higher level parameters and the ECU will fill in the blanks and keep most things in check.

Air charge model

Datalog showing air charge, boost pressure, airflow, and RPM.

Forget about boost pressure. You won't be tuning boost pressure directly and the amount of boost targeted by a Type R will vary from day to day, pull to pull. Boost pressure in and of itself is not important. It is a means to an end, which is air charge - the truest measurement of air in the cylinder and the index for almost all tables.

Note that the majority of this section is a guess. At this time no one but Honda has a copy of the Bosch calibration guide that describes the air model in detail. What we know is that the Bosch ECU uses a significantly more accurate load index for targeting fueling, ignition, and cam angles. It calculates how much air is actually inside the cylinder rather than the overall flow through the intake and engine. It is a ratio expressed as a percentage of the physical mass/amount of air in the cylinders at bottom dead center compared to how much the cylinders would hold at the currently measured atmospheric pressure. Anything above 100% and the cylinders are under boost, anything below 100% is vacuum.

The actual mass of air throughout any turbocharged application's intake and cylinders varies wildly, particularly during sudden throttle changes. Things like VTEC can significantly change the amount of air in the cylinder for each stroke despite the overall flow and calculated engine load not instantly changing, and since VTEC crossover generally happens around peak torque it's vital for this measurement to be correct at that immediate time. By having an immediate measurement of the mass of air in the cylinders instead of just what is passing by the MAF sensor or how much pressure the manifold is under, the Civic Type R is able to target a theoretical amount of torque reliably under all environmental and operating conditions with significantly less room for error, regardless of what modifications are installed.

Air charge algorithm

Air charge is very similar to both SAE absolute and relative engine load and uses the same sensors, but the calculations are time-domain rather than instantaneous and are also significantly more complex. The actual formula is not known or standardized like SAE engine load, but we have a guess. The ECU will first track how much air has flowed past the MAF sensor into the charge pipes, determining how much pressure that airflow is maintaining before the throttle plate using the boost pressure sensor. It will also watch the manifold pressure after the throttle plate to determine how much of the air is entering from the charge pipes, leaving out of intake manifold and thus (hopefully) going into the cylinders. Because the ECU is sampling the MAP sensor in high resolution in order to properly measure the pressure drops as the intake valves open, datalogs will usually show it fluctuating under load by 1 to 2 psi.

This tightly controlled calculation is the reason why the all-too-common vent-to-atmosphere blowoff valves (or any other way for the air to escape unmeasured i.e. boost leaks) or 'performance chips' that intercept the sensors can potentially reduce the reliability and safety of the engine, despite everything looking normal mostly in datalogs.

Torque targeting

The factory 3rd gear torque request in comfort mode

Everything begins with the throttle pedal position and current RPM corresponding to a certain amount of requested torque in newton meters, with an individual table for each gear and drive mode totaling 18 torque request tables.

The ECU will calculate how much air charge is required to achieve the requested torque, up to the limits defined in various tables. The air charge will determine boost pressure command, and then from that the throttle plate position and wastegate position. You do not directly tune boost pressure on an FK8, but you can effectively tune in the same manner as boost by gear with more consistent power results.

It is critical to know that while these tables will result in the engine outputting approximately the torque you request, it can easily overshoot the requested value. You must use other tables to limit the output. It is very easy to overshoot the torque by even 50lbft of your target torque while spooling.

While other Honda platforms are compared by their targeted PSI, it is more appropriate to compare an FK8's capability and tune by the targeted air charge.


You can find a full list of sensors and what they correspond to in the Datalogging article.


The process to flash a Bosch ECU is exactly the same as a Honda ECU, but it takes significantly longer (five to eight minutes) and requires a short period of driving afterwards to properly learn the stoichiometric lambda baseline before the closed loop system comes online. You will need to slowly drive (either on the dyno or road) in various gears for about two minutes until AF is no longer pegged at 14.7. You can idle as well, but the learning process will have more accurate initial results and come online faster by giving it different conditions while it is learning.

This means you're looking at roughly eight to twelve minutes between starting the flash and doing another pull, so plan accordingly for the dyno. There are some tables that can be live tuned to save you flashes and time, but that is covered in another section of this guide and many of the tables you will want to change are not live tunable anyways.


Repeated ignition retard that only resets once the throttle input has been released and reapplied.

Unlike other Hondas, the Type R does not use a traditional knock control strategy that learns a fuel's octane level over time. Instead, when the knock sensor picks up noise outside of a certain window, ignition retard is gradually applied to the knocking cylinder and will only remain until throttle input is reset. This system has no memory and will consistently allow knock, albeit rapidly eliminating it once detected.

Due to the nature of this knock strategy, the factory knock sensor calibration is also extremely sensitive and will regularly pick up noise and register more false knock than most platforms. However, because the ignition retard is incremental it has very little effect on power from these tiny false knock events and the sensitivity should generally be left alone unless there is a significant amount of noise from a part such as an exhaust.

This is important to know, because it means that improperly tuning ignition or using low quality fuel can result in consistent knock that never goes away and the driver would never know unless they reviewed their logs.

Be careful with how FlashPro Manager rounds values. Because the ignition values are stored in increments of 0.75 but FlashPro Manager only shows them as whole numbers, it can be difficult to determine how much knock retard there actually is. The graph will always render the correct amount, but the legend will floor the value (0.75 becomes 0 and 2.25 becomes 2). The sensor list floors the values as well, whereas the customizable display rounds up (0.75 becomes 1 and 2.25 becomes 3). You should also slightly offset each knock retard sensor's max display value by 0.2 so you can see each line without them overlapping.

Calibrating knock retard

Stock knock retard step
Stock knock window

There are two parameters to the knock retard system: step and window. The step is how much ignition retard is applied in each 'step' the knock retard system takes expressed as a negative number of degrees, and is -2.25 degrees from factory. It is recommended to set the step to -3 or more when you are working with uncertain fuel or testing new ignition values, and -0.75 to -1.50 if you are certain the fuel is consistently high quality and no knock normally occurs. This is one place where a conservative tune differs from an aggressive one.

The knock windows can also be increased in order to decrease the sensitivity of the knock retard system, but extreme caution should be exercised in doing so because you will potentially miss real knock. Reducing the knock sensor sensitivity is a last resort and not common. Generally speaking, increasing the values by 10 to 20 percent is sufficient for even the noisiest of FK8s. There is a separate table for each cylinder, allowing fine tuning for difficult cylinders. You should adjust it until you're just barely seeing noise, but still seeing it. If you completely eliminate noise, there's a good chance you won't be picking up knock early enough or at all, making the knock retard strategy significantly less effective.

We recommend putting these changes, especially the step, in the tuning notes so that the customer or anyone helping them diagnose issues knows what to expect when looking at datalogs.

Identifying real knock

Small single cylinder spikes during throttle changes. This is not a cause for concern, despite consistently occurring.

Due to the regular presence of noise and false knock, it's important to know what real knock typically looks like on an FK8 and when it can be passed off as noise. Note that 'steps' here refers to the total KR divided by the requested amount of step, not separate increases. For example, 3 steps at -2.25 is -6.75 while with a -0.75 step it's only -2.25, but both indicate the same amount of knock being detected.

Knock can be most easily identified by any number of steps that gradually increase across three to four cylinders, the so called 'rainbow knock'. Seeing three steps in two cylinders or more than four steps in a single cylinder is also cause for investigation.

A 'rainbow knock' pattern across cylinders, which is almost always real knock.

However, seeing lots of little single cylinder one-step spikes across a datalog is not a concern, especially if it occurs right when the throttle is applied and not somewhere along the pull near redline.

Torque targeting mechanism

There is a very tight relationship between torque request, air charge, and ignition. As described earlier, the ECU begins the calculations with torque request tables for each gear and drive mode corresponding to pedal input and RPM, totaling 18 maps. Using an internal model of the engine we have no control over, it will approximate the necessary air charge required to produce the requested torque under current atmospheric conditions. Remember that additional air molecules are ultimately what makes more power, with other parameters just making the energy output of the air more efficient or safe. As such, the engine is able to take a theoretical torque request and convert it to the necessary air mass, assuming a perfect burn.

Ignition modulation

The ECU monitors the torque output of the engine (something we unfortunately cannot datalog yet) and will modulate ignition up to the limits specified in the ignition tables in order to meet the requested torque. This is not calculated ahead of time as there is no mathematical formula for determining the torque output of a given ignition advance like there is for air mass. As such, when you begin advancing ignition past the factory values it is very easy to overshoot your requested torque when the turbo is spooling.

This relationship between ignition and air charge is the single hardest part of tuning a Civic Type R, as it will leave tuners new to the platform wondering why their changes aren't working or why ignition is randomly reduced.

If you are already making the requested torque below or at the specified ignition values, adding additional advance in the tables will not result in ignition actually advancing until air charge is further limited (either by you or by being in different environmental conditions) or the torque requests are increased. We refer to this condition as the ignition being 'torque limited'. You should generally not have your ignition be torque limited under normal conditions since it could lead to ignition values that you did not actually test being targeted later on. It is ideal to be as close as possible, though.

This balance can also be exploited in order to target more ignition when boost is expected to be intermittently limited by something else like high altitudes or IATs, further separating a good tune from a great one. The factory maps use this technique to an extent. However, this is difficult to do and requires a LOT of hands on experience to get right.

In short, the ECU targets a set mass of air that should theoretically be capable of producing the requested torque and then modulates the ignition advance on the fly in order to actually meet the requested torque.


Factory VTEC engagement

Because the FK8 is turbocharged and doesn't need help getting air into the cylinders, only the exhaust cams have VTEC. It is used primarily to control exhaust backpressure in order to spool the turbo faster. With VTEC off, the engine is not as free flowing but can more rapidly build boost.

VTEC is controlled by pedal position and RPM, with the VTEC table having values of zero, one, or 100. The 100 cells act as a hysteresis point where the VTEC will not change until it has crossed completely over to a one or zero.

You may see a 5 to 20% drop in air charge whenever VTEC activates. This is because the engine suddenly becomes more free flowing and the cylinders aren't as compressed as a result. The sooner the VTEC engagement, the sharper the drop. This also goes the other direction - if VTEC is activated later the air charge may sharply increase instead due to the turbo no longer being choked while spooled. This can be used as one indicator for determining the appropriate VTEC point, as ideally there should be very little change in air charge upon VTEC activation.


Basemap exhaust cam angles
Basemap intake cam angles

On the Bosch ECU, cam angles are significantly different. Negative values indicate advance and positive values indicate retard.

There are twelve cam angle tables, six for the intake cam and six for the exhaust cam, with three tables for each being for cold operation:

  • Normal (cruising operation, VTEC off)
  • Spool (turbo spooling)
  • VTEC (turbo done spooling, VTEC activated)

Intake cam angles range from -25 to +30 degrees, and exhaust cam angles range from -25 to +20 degrees, with zero degrees being the center point. The cam angle datalogging is in very high resolution and is very accurate.


All eight factory ignition maps

There are eight ignition tables, four for VTEC off and four for VTEC on:

  • In cam + (intake cam retarded)
  • In cam - (intake cam advanced)
  • Ex cam + (exhaust cam retarded)
  • In cam - ex cam + (intake cam advanced, exhaust cam retarded)

The ECU will interpolate between the values in these tables in order to find the maximum ignition advance. All ignition values are stored in the ECU in increments of 0.75 degrees.

Tips for tuning ignition

Because the final ignition advance interpolates between so many tables and the ECU has multiple ways to reduce ignition on the fly, it can be very difficult to figure out if you're reaching your specified ignition advance. A simple way to make this process significantly easier is to temporarily copy the values at or above ~130% AIRC from In cam + to the other three tables for both VTEC and non-VTEC and then make your changes equally across all eight maps. By doing this, you will effectively have only two ignition maps to look at during WOT and it is easy to tell which is being used because the VTEC activation is datalogged. You will be able to easily determine how much ignition the ECU is pulling instead of wondering if it's just using a value from a different map.

All eight factory maps after being remapped for tuning. Note the cells showing the differences from each In cam +.

However, if this technique is used it should not be left like this. The maps are slightly different for a reason and were developed with much more sophisticated software, hardware, and the best of the best engine calibrators. Retaining the differences between them is vital to retaining factory drivability, smoothness, and economy. Once you're done tuning ignition you should apply your changes for each cell equally to all eight original maps so that the differences are restored.

Every FK8 varies in the amount of ignition they run. A certain octane in one area may produce significantly different results and even slightly different trims than in another area, and even given two FK8s running identical fuel with identical mods you won't see precisely the same limits. Ethanol will allow you to run significantly more ignition, but at the cost of reducing midrange boost on a stock fuel system. At 190% air charge and 7,000 RPM you get away with around 9-11 degrees on 91, 12-15 degrees on 93, and 17-21 degrees on E30.

Ignition modifiers

The ECU will modify ignition for several reasons, some of which are not yet known.

  • Torque modulation: The ECU will reduce ignition if it determines requested torque has been exceeded. Most common reason why ignition is reduced, but there's no obvious indicators that this is what is happening and other options must be ruled out first.
  • Knock retard: individual cylinders can have their ignition retarded following knock. You can see exactly how much in the Knock Retard 1-4 sensors. Will generally result in a very choppy ignition chart due to rapidly switching between the cylinder retard values as they fire.
  • High ECTs: Past about 210F the ECU will start retarding ignition due to high coolant temperatures.
  • Traction control: Hondata's traction control uses ignition retard to regain traction. This reduction is also datalogged as TC.R.


The amount of boost that the ECU targets is dynamic, but can be directly limited in a few different ways other than simply lowering torque request.

Air charge limits

Default air charge limits on 91 octane

You can set a limit on the amount of air charge the ECU will attempt to target at any given RPM via the air charge limit table. This table is a normally deactivated Bosch feature that is not used in the factory calibration, but is used in all of the basemaps and almost every custom tune. The factory calibration primarily uses the torque limit and turbo ratio tables. We use air charge and rely slightly less on the turbo ratio limits instead because it's easier to tune for the very limited fuel pump.

It is still possible and very common to slightly overshoot these limits for a short period of time.

Turbo ratio limits

Turbo max ratio (PA)
Turbo max ratio (temp)
Turbo max ratio (PA) compensation by IAT2

Although the ECU calculates target manifold and boost pressure on its own from the target air charge, there are turbo ratio limit tables available that will act as a hard ceiling for the compression ratio. No other parameter in the ECU will override the limits in these tables, so you can use them to reliably limit the compression ratio of the turbocharger, albeit still not directly setting any specific PSIG as you would with other platforms.

These tables are directly responsible for the boost reduction at high intake temperatures.

The values are expressed as a ratio of absolute turbo inlet pressure to turbo outlet pressure. It is not absolute bar pressure or gauge pressure. It is vital to keep in mind that as the volume expands throughout the intake tract, primarily in the intercooler and the intake, there will be pressure drops. The amount of pressure lost will increase exponentially as airflow increases. Due to this loss, peak boost PSIG will not match the calculated maximum from the ratio. This is a large source of confusion for many, as the basemap tables seemingly allow 30-40+ PSIG, when in reality they don't because pressure loss was taken into account when developing those values.

While these tables can technically be used to target a certain amount of boost pressure, that is not their intended purpose and you should not be attempting to directly tune boost pressure on this platform.

  • Turbo max ratio (PA): Based on atmospheric pressure and RPM
  • Turbo max ratio (temp): Based on IAT2 (post-intake) temperature and RPM.
  • Turbo max ratio (PA) comp (IAT2): Further reduces the PA table by a certain percentage based on post-intake air temperature.

Live testing turbo limits

It is easy to plot the targeted boost pressure against your torque requests at the current atmospheric conditions. Simply key on the ignition and start datalogging, and the BPCMD will change with pedal input and gear mode even though the engine is off. It will be using the 780 RPM cells in the 1st gear torque request tables. You can use Hondata's live tuning functionality to update your air charge and turbo ratio limits on the fly with the pedal down to see how the ECU calculates boost pressure, and switch between comfort/sport/R+ to quickly try different torque request curves which cannot be live tuned.

Converting ratios to PSIG

To convert from a ratio to the maximum relative boost pressure the ECU will attempt to command before taking pressure drops into account, use the following formula, where PA is the current atmospheric pressure in bars and 14.5038 is the constant to convert bar to PSI (change this if you want different units):

Boost PSIG = ((Ratio * PA) - PA) * 14.5038

It should be within 0.2psi of what you would see while live testing with the engine off as described above, assuming the turbo ratio limits are what is limiting BPCMD.

Turbo max ratio (temp) converted to PSIG without accounting for pressure loss
Factory Hondata 91
0F 77F 86F 104F 122F 158F 194F
1500 27.70 21.47 20.16 17.26 15.08 10.44 7.11
2000 30.31 22.92 21.47 18.42 16.39 11.75 8.12
2500 33.07 24.37 23.06 19.72 17.40 12.76 9.14
3000 36.11 26.11 24.37 20.88 18.27 13.34 9.72
3500 37.71 27.70 25.82 21.90 19.14 13.63 10.44
4000 37.71 29.01 27.12 22.92 20.16 15.08 10.59
4500 37.71 30.31 28.28 24.08 20.88 15.52 10.88
5000 37.71 30.89 28.86 24.66 21.32 15.52 10.88
5500 37.71 31.04 29.15 24.66 21.47 15.52 11.02
6000 37.71 30.75 28.86 24.51 21.17 15.37 10.88
6500 37.71 30.46 28.57 23.93 20.60 15.08 10.30
7000 37.71 30.02 28.14 23.35 20.02 14.50 9.86
0F 77F 86F 104F 122F 158F 194F
1500 35.68 29.44 28.14 25.24 23.06 18.42 15.08
2000 38.29 30.89 29.44 26.40 24.37 19.73 16.10
2500 41.05 32.34 31.04 27.70 25.38 20.74 17.12
3000 42.06 34.09 32.34 28.86 26.25 21.32 17.70
3500 42.06 35.68 33.79 29.88 27.12 21.61 18.42
4000 42.06 36.99 35.10 30.89 28.14 23.06 18.57
4500 42.06 38.29 36.26 32.05 28.86 23.50 18.86
5000 42.06 38.87 36.84 32.63 29.30 23.50 18.86
5500 42.06 39.02 37.13 32.63 29.44 23.50 19.00
6000 42.06 38.73 36.84 32.49 29.15 23.35 18.86
6500 42.06 38.44 36.55 31.91 28.57 23.06 18.27
7000 42.06 38.00 36.11 31.33 27.99 22.48 17.84
Turbo max ratio (PA) converted to PSIG without accounting for pressure loss
Factory Hondata 91
0.7 0.8 0.85 0.9 0.95 1
2500 16.96 20.77 22.81 24.93 26.32 27.56
3000 17.36 21.00 22.93 25.06 26.32 27.70
3500 17.26 21.47 23.55 25.45 26.59 27.85
4000 16.14 21.70 24.04 26.24 27.28 28.28
4500 15.03 20.65 23.79 26.50 27.97 29.01
5000 13.60 19.61 22.68 25.98 27.83 29.44
5500 12.28 18.22 21.45 24.80 27.28 29.30
6000 11.27 16.71 20.10 23.63 26.04 28.57
6500 10.56 15.66 18.86 22.19 24.94 27.70
7000 9.95 15.08 18.12 21.41 23.70 26.83
0.7 0.8 0.85 0.9 0.95 1
2500 27.41 31.33 33.29 34.98 35.69 36.26
3000 27.41 31.33 33.29 35.11 35.69 36.40
3500 27.41 31.33 33.29 35.24 35.96 36.55
4000 27.41 31.33 33.29 35.24 36.65 36.98
4500 27.41 31.33 33.29 35.24 37.20 37.71
5000 27.31 31.33 33.16 35.24 37.20 38.15
5500 25.99 30.98 31.93 34.85 36.65 38.00
6000 24.98 29.47 30.57 33.68 35.41 37.27
6500 24.27 28.43 29.34 32.24 34.31 36.40
7000 23.66 27.85 28.60 31.46 33.07 35.53

Calculating pressure drops

While it's much easier to just guesstimate a few PSI of pressure loss, it is possible to really dial it in and calculate the loss given a single data point of how much pressure is lost while driving. There isn't a set number that works for every Type R and there is no easy way to physically measure it. Larger intercoolers and other aftermarket intake parts can drastically change the amount of pressure that is lost, but it appears the ECU is able to correct for it. This equation does not take losses from temperature into account and also simplifies things by not calculating the filter and intercooler drops separately since we can't find them separately. However, if we know how much pressure has been lost overall at a certain flow rate, we can calculate the pressure loss at any other flow rate as well. Pressure drop will increase as a square of the volumetric flow rate increase, i.e. double the flow is four times the pressure drop and four times the flow is sixteen times the pressure drop.

To figure out approximately how much pressure loss the ECU has calculated so you can use it in your own calculations, you will need to first know:

  • The theoretical max BPCMD found from the ratio conversion formula or found by live testing with ignition off
  • The actual BPCMD at a certain flow rate where BPCMD is being held back by the turbo ratio table and nothing else (you can temporarily lower the limits to do this)

Due to the turbo limit tables having an RPM axis and pressure loss being a function of airflow and not RPM, you will also need to know the maximum mass airflow throughout the RPM range to properly calculate the maximum pressure loss at any other particular RPM. You can use the X/Y graph to find this, plotting RPM vs AFM on a datalog. This flow will differ by gear, but 3rd and 4th should work.

Formula will be added soon.


Setting up fueling on a Civic Type R is probably the easiest part of the whole ordeal, especially on Hondata where we have a fuel pump duty datalogging channel. The Bosch ECU remains in constant closed loop whenever the injectors are firing, even during wide open throttle to redline. It also uses lambdas internally and learns the stoichiometric burn point on the fly, so the only adjustment necessary for different fuels like ethanol is adjusting the injector durations via the overall fuel trim to compensate for the additional fuel volume required. However, you should be very careful changing the fueling tables as the most common way to a blown K20C1 is through improper fueling.

Overriding factory fueling

From factory, the ECU targets a fairly lean mixture to redline. Hondata uses a novel technique to enable direct control over the AF ratio by enabling a factory-disabled Bosch feature that was originally meant to protect the catalytic converter through targeted fuel enrichment when the modelled cat temperature exceeds a certain point. This is why the three fueling tables have '(cat protect)' in their names. It was done this way in order to easily override the tons of different fuel maps, calculations, and parameters that the Bosch ECU normally utilizes under the hood.

Hondata sets this catalytic protection temperature to 200C so that it will start acting fairly quickly. There should be no reason to change the catalytic protection temperature from this value.

Fuel pump duty

Hondata has added a datalogging channel to the ECU that allows us to track the high pressure fuel pump duty. To better understand what the duty represents, read the High Pressure Fuel Pump article. This parameter is the main thing that you will be tuning against on a stock fuel system.

Lambda control

Hondata basemap lambda targets

There are three tables that specify the lambda that the ECU should target. The minimum lambda table limits how rich the ECU can go. The two target lambda tables, one for VTEC off and one for VTEC on, specify the lambda the ECU will actually target. For simplicity's sake all three can be equal as they are in the basemaps, but you can change them individually in order to achieve things like leaner fueling during spool up. Remember that these tables are not active until the catalytic temperature has exceeded a set point and are not used at all in the factory calibration.

It is recommended to use a peak AF ratio of 11.2 to 11.8 for the stock downpipe or heavy track duty Type Rs and 11.8 to 12.4 for a catless or high flow downpipe that is primarily street driven. This will give you a good amount of headroom on fueling without being dangerously lean or producing too much heat. At this point a fuel system upgrade should be considered instead.

Note that you can choose between specifying air fuel ratios or lambdas. The ECU uses lambda, but the FlashPro Manager software will do the math for you and uses air fuel ratios by default. If you're used to tuning by lambda, you can switch to lambda values in the Units section under FlashPro Manager's settings.

Fuel pressure

Factory fuel pressure table

We are able to tune fuel pressure during normal conditions, split injection, and idle. The torque axis is a percentage of the ECU's internal reference torque of 400nm. This means that 180nm of torque request will fully pressurize the fuel system, which is about half throttle on most maps. The ECU has a hardcoded max fuel pressure of 200 bars.

There are also absolute minimum and maximum pressures directly under the Fuel category in the calibration window. These settings take priority over anything in the three tables and can be live tuned. However, updating the values will have no effect until the engine is restarted.

Lowering fuel pressure for more flow

While lower pressure means slightly more fuel delivery (up to 8%), it also means that the atomization of the fuel is less efficient and the injection velocity is lower. It is believed that pressure loss, whether manually tuned or as a result of a maxed out fuel pump, is one of the few ways a K20C1 engine fails. Dyno testing by Hondata has shown that purposely lowering pressure usually results in power loss anyways despite the additional flow available.

The ECU is able to compensate for reaching maximum fuel pump duty because the pressure will lower thereby increasing flow, but if you decide to lower the fuel pressure yourself you are getting rid of the headroom the ECU has for this compensation mechanism.

For these reasons, in most scenarios the maximum fuel pressure should not be modified from 200 bars unless you have a good reason for doing so.

Acceptable fuel pressure loss

While it's ideal to be right at your targeted fuel pressure, you will likely lose a little bit of pressure near 90% fuel pump duty. Staying within 5 bars is perfect, being with 10-15 bars is acceptable, but any further drop from that necessitates changes to the tune. If the pressure manages to drop to about 160 bars from 200 bars commanded, the engine will go into a protection mode that lowers the max torque request, richens the fuel and starts putting out black smoke.

Significant fuel pressure loss is one of the main ways a K20C1 can be damaged, so you should take care to not have the fuel pump maxed out.

Other fuel tables

Stock injector phase

Injector phase

This table controls the start of injection point in crank degrees before TDC. If the injection event becomes long enough that the fuel does not have enough time to vaporize before the spark, the start of injection should be increased. The start of injection should not be increased unnecessarily as it will retard turbo spool.

Stock volumetric efficiency table

Volumetric efficiency

These tables correct the cylinder filling based on air charge and rpm.  There are normal and WOT tables.  The WOT threshold for switching between tables is dynamic.

Stock cylinder trims

Cylinder trims

Individual cylinders can have their fuel trims modified, effectively changing the injector duration in that particular cylinder.

Fuel pump limit

Fuel pump limit settings

This feature is not recommended for use as it usually causes more problems than it solves. You can enable an on-the-fly fuel pump duty limiter that will reduce target air charge whenever the fuel pump goes past a certain duty percentage. This can be helpful when running flex fuel as it will ensure that the fuel pump is never maxed out when an unexpected amount of ethanol is in the fuel tank or the fuel trims are otherwise significantly off. However, it's better to get your tune dialed in to not need this whenever possible as it is reactionary and will still overshoot your limits and potentially cause rough power output. It is meant as a backup safety mechanism more than a primary means to tune the fuel pump and is not recommended for use.

Airflow metering and fuel trims

An X/Y graph of the AFM voltage vs long term trim showing a +2% richness across the band. This would necessitate a +2% change to overall fuel trim, but it also shows a slight curve at the beginning that may indicate airflow metering issues as well.
An X/Y graph of the AFM voltage vs short term trim showing well defined curves on a miscalibrated AFM table.

This is unfortunately a commonly overlooked but critically vital part of tuning a Civic Type R. It was believed for the first few years of the platform that most intake parts did not need tuning because they were still within 5% trims, but that is not the case. Even if the airflow metering is consistently off by only 1 to 2% in a low voltage range, it can cause dangerous feedback loops in the closed loop system during WOT pulls. The ECU is insanely sensitive to AFM miscalibration. This theory has been proven by countless Type Rs having their AF swings eliminated by tuning the MAF sensor.

Like all OBD2 platforms with closed loop, there is a short term and long term fuel trim. One difference however is that the long term fuel trim is stored by RPM and changes much faster than other platforms.

Using the X/Y graph with the AFM voltage against either the short term or long term fuel trims as shown in the pictures will show what changes need to be made to either the overall fuel trim or the MAF sensor itself. If the fuel you are utilizing requires more or less volume to run stoichiometrically (i.e. differing amounts of ethanol) the charts will show a consistent delta from zero across the band, usually in the long term chart. If there is a curve, it is more likely an airflow metering issue.

You should always attempt to correct the overall fuel trim before attempting to correct the AFM table. It is strongly recommended to do street tuning or e-tuning after (and even before) all dyno tunes to get the trims dialed in, because AFM miscalibration can lead to the engine leaning out at the worst time or just performing poorly in general.

Tips for calibrating AFM

  • Use the X/Y graph. Do not attempt to do this by looking at a few seconds of datalogs during pulls.
  • Use multiple 15+ minute datalogs and look for the common curves between them.
  • Start at non-WOT voltages, i.e. 1v to 3.5v-4v. Low voltage miscalibration can create curvature at higher voltages from the feedback loops it causes.
  • Make big, wide changes to obvious curves first and then refine it more as you go along.
  • Don't focus on tiny peaks or dips unless they consistently occur across multiple datalogs and you've already tuned out any larger curves. It's unlikely for a very small range to have a sharp trim change.
  • Taper the edge of your changes and ensure the whole chart is still smooth and doesn't have any flat spots or dips.

Live tuning

Live tuning configuration

You are able to tune several tables on the fly without fully reflashing the ECU. Updates are instant and persist between engine restarts, although it will not persist through battery power loss. You should always reflash the full tune once you are done live tuning. You will need to enable the tables before you upload the calibration and then save the calibration afterwards.

The available tables for live tuning are:

  • Air charge limit
  • Fuel pressure (normal and split injection, but not idle). This also enables live tuning for the absolute minimum/maximum fuel pressure parameters.
  • All 8 ignition tables
  • Torque limit
  • Turbo max ratio (PA and temp, but not IAT2 PA compensation)

Note that if a table has 'Live' checked on it, it is constantly updating it as you enter in the values into individual cells and as you press undo/redo. If it is not checked, you need to press 'Update all live tuning tables' in the Online menu to upload the changes. You can use whichever method is more appropriate for your tuning techniques.

Some of these tables appear to have no immediate affect, such as changing fuel pressure. You will need to restart the engine first.

Make sure that you save the calibration file before closing FlashPro, or you will be unable to live tune without flashing again.


There are several one-click modifications that Hondata has included for us to use. Most of them are very self explanatory and most of the intake mods don't actually change anything. The majority of mods are simply preset values for the tables you can change yourself anyways, but the mods described here change values inside the ECU that cannot be changed elsewhere.

Boost limit mods

All of these mods are enabled in the basemaps and should generally always be enabled when adding power to an FK8. Boost is still limited by other tables, so these mods are safe to use. The only time you wouldn't want to use these tables is if you were detuning a Type R for track duty.

Mod Effect
Remove factory boost limits Increases the fairly low boost cut from 2.86 to 4 bars, the limit of the MAP sensor.
Increase turbocharger boost limit Increases internal hard cap on turbo PSIG to an unknown amount.
Increase turbocharger pressure ratio limit Increases internal hard cap on turbo pressure ratio to an unknown amount.

Rev limit mods

You are able to increase the maximum RPM of the engine to 7200, 7400, or 7800 RPM. However, caution should be exercised as the OEM high pressure fuel pump is only rated to 7200 RPM and past that point the fuel pump piston will likely float, deliver incorrect amounts of fuel, and potentially be damaged.

Disable EGT air charge reduction

This is a very important mod and arguably the biggest differentiator in horsepower output than any other setting in the ECU. Once the modelled exhaust gas temperatures exceed a currently unknown point, the ECU will begin to reduce the maximum air charge in the same manner as the air charge limit table. This is most commonly seen past 5500 RPM and usually limits maximum air charge to about 170-180% at redline in 3rd gear and above. It is easy to tell when this is happening because BP will follow BPCMD, but air charge will be significantly lower than the specified limits. This is the only factory mechanism that is known to directly limit or reduce air charge.

By enabling this mod and disabling the reduction, air charge and boost at high RPMs can be significantly higher, allowing you to completely utilize the turbo and fuel system all the way to redline where horsepower is made. This mod is most useful on pump gas tunes where you heavily rely on boost.

This will increase exhaust gas temperatures near redline, so caution should be exercised when enabling this mod on heavily abused engines that see consistently high RPMs such as track duty Type Rs.

Additional features and tables

Torque limit

This table isn't used in the basemaps or in most custom tunes. It is set to 600 across the board in order to keep it from being used, as it usually ends up in choppy power output when power levels are pushed up. The only time this table should be changed is if your torque requests are exceeding 600, which shouldn't be the case unless you've got some major upgrades.

It appears that this parameter is reactionary rather than being a main calculation. It does not seem to change any calculations or targets because if you live tune the torque limit table with the engine off, it will not influence BPCMD or TPlate. It does not act as a simple ceiling for the torque request like you would expect it to. This is probably why Hondata elected to not use this table.

Closed loop parameters

The closed loop parameters for the 93 PRL basemap.

The majority of the parameters here have to do with disabling the secondary O2 sensor CELs. This isn't strictly necessary on a high flow cat, but it will be necessary on a catless downpipe unless there is a defouler. Generally disabling P0420 is sufficient, but you can disable them all if you so wish. The 'secondary oxygen sensor enabled' checkbox itself has no effect and isn't present on 2019+ calibrations. Disabling any of these CELs will make the ECU not complete OBD2 readiness and will not pass smog in states like California.

The catalyst protection temperature used to override the fueling tables is also here, but should generally not need to be changed.

Split injection can be disabled from here. It injects some of the fuel on the intake stroke and some of it during the compression stroke, but it's not entirely known if it's even used on the FK8 in the first place. It is recommended to just leave this setting alone as no one has found a reason to disable it.

Speedometer adjustment

Hondata speed adjustment

Hondata allows you to adjust the speedometer by a certain percentage to compensate for different sized wheels and tires. The parameter can be found under the 'Sensors' category in the calibration window.

Radiator fan control

Factory fan settings

The fan speeds can be modified however you would like. The fans have low speed and high speed on/off parameters acting as a dual hysteresis mechanism. Using the factory values as an example, the fans will initially turn on at low speed at 188F (low speed on), switch to high speed at 199F (high speed on), go back to low speed at 188F (high speed off), and turn off completely at 181F (low speed off).

If you are utilizing a flex fuel kit, the checkbox Use second coolant temperature for fan control will need to be unchecked as flex fuel kits use the ECT2 plug to report ethanol content to the ECU. This will also result in a different fan behavior as it will be going based on the coolant temperature exiting the engine instead of the temperature after the radiator, meaning the fans will likely be driven more due to not knowing how well the radiator is performing. There doesn't seem to be any downside to this other than the fans running more often.

OBDII Error Tests

Disables for various OBD2 error tests

These CELs are all related to OBD2 checks that must pass in order to complete emissions readiness. However, they also need to be disabled in order to run certain mods or prevent issues when pushing a lot of airflow.

AFM maximum voltage enabled must be unchecked if you are reaching 5 volts on the MAF sensor. Otherwise, a CEL will be set and the engine will be put into limp mode until it is cleared.

P2183 ECT Sensor 2 range problem enabled and ECT to ECT2 cold start check enabled must be unchecked if there is a flex fuel sensor due to the sensor using the ECT2 plug.

Rev Limits

Rev limit parameters
Launch limiter

Launch RPM controls the maximum RPM while you are not moving. Launch to full throttle shift transition speed controls when the full throttle shift system should be enabled.

Speed cut

Speed limiter speed sets the maximum speed the vehicle will go. This is mostly useful for valet modes.

Full throttle shift

The full throttle shift system (exclusive to Hondata) allows the driver to push the clutch in and shift gears without letting off the throttle. You can set the minimum RPM and throttle position that the system will operate in. It will usually hold the wastegate closed in between shifts as well, eliminating turbo lag during long multi-gear pulls.

Anti lag

This system can be dangerous, especially to a stock engine. Abusing it for show for long periods of time is a near guaranteed way to end up with a blown engine, but using it in very quick bursts seems to be reliable. It should NEVER be used with a stock downpipe as the materials cannot handle the increased heat and pressure.

On a stock turbo this system isn't very useful because it already spools up insanely fast. Caution should always be used when enabling this feature and the driver should be warned of the dangers of using it. While it's fun to use, it can be costly if used the wrong way. It should be noted that this feature is the main way most K20C1s have been damaged, with it being extremely difficult to damage otherwise.

Antilag can be activated from a stop or while moving by holding down the cancel button above 2000 RPM. You can set the air charge (load) it will attempt to target at maximum throttle input. When the button is pressed, the RPMs will be held while the throttle input controls how much ignition retard is applied.

Traction Control

Aggressive launch settings for Hondata traction control

Hondata has managed to port their track-proven traction control software to the Bosch ECU. Instead of using the throttle plate like the factory VSA system, ignition will be progressively retarded in order to regain traction. It will usually engage long before the factory VSA system does due to being more sensitive and having a faster response time. The entire system is configurable, down to being able to enable PID control.

The main parameters you will likely want to change is the minimum speed and target slip. Some people have found that 6 mph and 6% slip allows for better launches, or perhaps you don't want it enabled at low speeds at all. The amount of ignition retard used is also commonly changed.

This system is datalogged, so you can see exactly how much slip and ignition retard it is calculating at any given point and chart it to see where traction needs to be improved.

If you are still unable to gain sufficient traction while using this system, torque request needs to be lowered, better tires need to be put on, or motor mounts replaced with stiffer mounts.

Common issues and strange behaviors

We don't completely understand the Bosch ECU and we probably never will. The proprietary Bosch calibration documents alone are well over 20,000 pages long, so reverse engineering the entire ECU is an impossibility. There are various issues, strange behaviors, and even a couple of bugs. Knowing what is normal and what is not is vital to ensuring a Type R is operating properly.

Normal behaviors

These behaviors, while strange or unusual, are normal for this ECU and can be ignored.

Air fuel ratio swinging at idle and part throttle

It is normal to see the AF ratio swing from the commanded AF ratio by .5 when idling or at part throttle. The ECU is constantly searching for the stoichiometric burn point and is also carefully controlling catalyst regeneration, even if there is no catalytic converter present.

Slight fuel pressure loss during WOT

While it's ideal to stay at your commanded fuel pressure, it's common to see 5 to 10 bars of pressure loss during a WOT pull, especially when reaching the fuel pump limits.

Boost pressure spike on throttle plate closure

It is common to see the boost pressure sensor spike to over 30psi when the throttle plate closes at redline or when shifting. Disabling rev hang causes this to be more prominent. It isn't an immediate cause for concern. However, it can eventually cause the throttle body coupler to tear. PRL Motorsports has a charge pipe kit that reinforces that area, so if those charge pipes are being used you don't need to worry about this at all.

Boost pressure command pegged to max PSIG

The ECU will occasionally report the boost pressure command as the maximum PSIG (i.e. around 33 psi) for a very brief period of time after letting off the throttle. It does not appear the ECU actually attempts to target this pressure in any way, so it may just be a datalogging glitch.

MAP sensor fluctuations

The MAP sensor will fluctuate heavily, especially at WOT. It is theorized that this occurs because the ECU is monitoring it in high resolution to properly calculate air charge and is actually seeing the pressure loss as the valves open.

Long term trims wildly different after reflashes

It is normal to see higher long term trims than before you flashed even though you're on the same tank of fuel. After every reflash the closed loop system forgets everything it has learned, so it will take a little bit before it has fully integrated the stoichiometric burn point.

Commanded fuel pressure reaching 250 bars

There is a physical pressure relief valve in the high pressure fuel pump at 250 bars. Despite the 200 bar pressure limit, the ECU will sometimes increase pressure to 250 bars during idle, probably to ensure the relief valve is operational. It is also common to see 250 bars commanded in between full throttle shifts and after letting off the throttle just before redline.

Abnormal behaviors

These behaviors are not normal and should be looked into to prevent issues.

Boost pressure not reaching commanded pressure

Every once in a while the turbocharger will not reach BPCMD, especially during 1st or 2nd gear pulls. However, if it consistently is unable to reach BPCMD and lags behind by 2 or more PSI throughout the pull, especially during initial spool up, it could be indicative of a boost leak or simply attempting to push the turbocharger too far. This can be dangerous because the turbine could overspeed and be damaged. Turbo ratio limits should be properly implemented in order to prevent the turbo from being pushed outside of it's limits, especially with aftermarket turbos.

Air fuel ratio swinging at WOT

While it's normal to have the air fuel ratios swing at idle and part throttle, it should be within 0.1 of the commanded ratio during a wide open throttle pull, especially after the turbo has finished spooling. If the air fuel ratio is swinging in a rapid sine wave, it is likely experiencing a feedback loop from the AFM table being slightly miscalibrated following upgrades to the intake system. This is a very common issue that needs to be resolved in order to ensure a safe calibration.

Excessive fuel trimming

There should generally never be more than 10% of short term fuel trim in either direction unless there's a port or methanol injection system. If there is, it's likely indicative of a vacuum or boost leak depending on when the trims occur. It can also indicate the injectors were not properly configured if an aftermarket fuel system is used. Long term trim should ideally always be 0%, especially after a few drives, but it isn't a huge concern if it's only 1 or 2% off intermittently.

Dyno considerations

Heat soak

Dynoing a Type R for consistent results can be difficult if there is not sufficient airflow over the intercooler and radiator. The ECU pulls boost for high intake temperatures and retards ignition for high coolant temperatures, so you will usually need to cool down between every run and have multiple fans running at all times. Luckily, the long flash time also gives the engine a significant amount of time to cool down.

VSA errors

If you start driving a Type R on the dyno without performing the pedal dance you will most likely end up with the VSA and EPS systems setting a code and shutting down, meaning there will be no parking brake or stability systems. However, the powertrain remains unaffected by these errors. To save yourself time, especially in the case of a remote dyno, it is easier to just let the codes set. The pedal dance also forces you into sport mode, which prevents you from testing values in the +R torque request without copying them to sport.

Gear for dyno pulls

It is recommended that you do your pulls from 2000 RPM in 4th gear. This gives you a long pull with a very smooth spool up that is easy to analyze and compare. You should also double check the torque output of other gears if time allows because the spooling characteristics can change greatly and potentially end up with significantly more torque than you expected.