RaceROM Custom Maps Tuning Guide
EcuTek RaceROM Custom Maps is an advanced feature for expert tuners only. It provides the tuner with the ability to modify the control algorithms within the ECU. The tuner can take advantage of this in order to develop their own features that few other tuner can provide. It can also be used to develop one-off fixes to overcome specific problems encountered while tuning a highly modified vehicle.
We have improved our unique and innovative Custom Maps feature to enable even more tuning possibilities. With the addition of our dedicated boost control and FlexFuel strategies, all 16 custom maps are now available for the tuners to further exploit the power of RaceROM.
Additional inputs and outputs, combined with expanded possibilities for manipulating the values, allow for complex control strategies to be created from something as simple as a fuel pressure fail safe to a slip target based multilayered traction control system.
This feature is so versatile it was previously used for things like traction control, flex fuel, and even advanced boost control. While no longer needed for those functions, you can still use these custom maps to do all sorts of additional tasks.
The map utilizes specific user-defined x and y-axis, output channel, and allows you to set custom scenarios for when the table should be active. This means you can set up dozens of different systems that utilize everything from factory tables and sensors, to custom parameters from hijacked sensor inputs.
While the inputs and outputs aren't completely identical between every platform, the method for utilizing the custom maps feature remains the same. In addition to an explaination of the feature we've included a few examples of how they can be utilised.
Example Custom Map Inputs (GT-R)
Example Custom Map Outputs (GT-R)
Custom Map Output Functions
Custom Map Notes
Notes relating to each custom map can be added here. There is a 100 character limit. The “delete” key cannot be used as it’s still a hot-key for triggering live data, and the “Ctrl-S” hotkey combination doesn’t work for the moment so quit and click Yes on the Save Changes To Custom Map X dialog box to save your changes.
Custom Map A, B etc.
The actual table you'll be using to input/output the values of your choosing. There are a few maps available of different sizes so choose the one best suited to your needs.
The system runs the custom maps in alphabetical order. As such ensure you keep that in mind when utilizing the calculations from one table in another. Or that if you're utilizing them for multiple systems one will be happening first.
E.G. If map A and map B are both replacing the same channel (potentially under different conditions) map A will first replace the value, at which time B will replace A. If set to multiply, or Add, the A calculation will be done first.
Activation Definition
This map sets the method by which this table becomes active or deactivates. There are several options for either setting the system to activate or deactivate given a few different parameters. You can also set it to always active or change state when the user changes map slots or alters the ignition state of the car.
Activation Mode
Map is always active
This mode means the map will constantly be active and persist through map/mode changes.Map is only active when channel value is above threshold (With Hysteresis)
Map activates when the top value in the Custom Map Activation Threshold is exceeded. It will then disable when the value goes below the bottom level. In the below example, the map will activate when the activation value goes over 0.475 and becomes deactivated when the value is below 0.5 again.
The values of the table don't need to have the lower value on top. The upper value acts as the activation value, and the bottom value when it will deactivate. In the example below, utilizing bar of pressure as the activation, the upper value sets the activation to occur when pressure rises above 3.1 bar of pressure, while it will then deactivate as soon as your pressure goes below 2.9 bar.Map is only active when channel value is below threshold (With Hysteresis)
Map activates when the upper value in the Custom Map Activation Threshold value is achieved. It will then disable when the value goes below the lower level. In the below example, the map will activate when the activation value goes over 0.475 and becomes deactivated when the value is back over 0.5 again.
The values of the table don't need to have the lower value on top. The upper value acts as the activation value, and the bottom value when it will deactivate. In the example below, utilizing bar of pressure as the activation, the upper value sets the activation to occur when pressure boes below 3.1 bar of pressure, while it will then deactivate as soon as your pressure goes above 2.9 bar again.Map is only active when channel value is between the threshold values
Your map will activate when the activation value is between your two values. You'll want to set the upper value in the map to your low value, and the bottom value to your higher value.
Activation Options
Map Activates and Deactivates as Normal
The map will activate and deactivate whenever the activation mode is achieved.
Possible uses are things like boost control, traction control, items you want to be on all the time or whenver the vehicle achieves a certain state.Map Is Initially Inactive. Once Activated, Remains Activate Until Key Off
The map won't become active until the activation threshold or state has been achieved. It will then stay on until the car is turned off at which time it will be disabled until re-enabled.
Potential uses are things like failsafe states where an activation channel goes beyond a certain point at which point timing/speed etc. are reduced until the vehicle is keyed off and on again.Map Is Initially Active. Once Deactive Remains Inactive Until Key Off.
Your map will be active until a certain state is reached at which time it is diabled. Once disabled it will remain that way until the vehicle is key-cycled off and on, at which point it will be activated again.
Potentially used for things like warm-up maps, cranking etc. Items you want to occur at startup but stop later on.
Activation Delay
Sets the amount of time before the map becomes active after the activation threshold has been achieved.
Activation Threshold
Selects the min/max values for activation parameters. These will be applied to the channel used in the activation definition (If the channel value isn't based on map slot or another function not utilizing a min/max.
For more information on how these thresholds work, check out the Activation Mode section.
Deactivation Delay
Activation and deactivation now have independent delay times. This means you can trigger a custom map to be active immediately and it will remain on for a time even if the activation conditions are no longer met, for example a 10 second boost target increase.
Enable
Chooses when the map should be active. Will still require the activation definition to be met in order for the map to begin working.
If on a platform that offers enable in different vsc modes as well as map modes, keep in mind that it can be in both mode1 and sport mode etc at the same time. Or in the case of GTR, the Suspension Modes. It will need to be activated in both for the table to be utilised.
Each map has a debug mode. This means that the map will be processed when the ECU is calculating the map's output channel, but the result is not used as part of the calculation. This can be used in conjunction with the logging features to test the effect that a custom map would have, but without affecting the operation of the engine. Keep in mind that having debug enabled will cause the map to not make any changes to any outputs.
Each custom map has two logged parameters: interim and result. The values that get logged here depend on the selected output function:
Output Function | Interim | Result |
|---|---|---|
Unused | 0 | 0 |
Replace channel value with map output | old channel value | map output |
Add map output to channel value | map output | channel value +(plus) map output |
Multiply channel value by map output | map output | channel value * (multiply) map output |
Use map output as a minimum for channel value | map output | the greater of channel value and map output |
Use map output as a maximum for channel value | map output | the lesser of channel value and map output |
Add map output to integral. Add integral to channel value | integral | channel value + integral |
Add map output to integral. Multiply channel value by integral. | integral | channel value * integral |
Integral Min/Initial/Max
On our previous Custom Maps implementation the integral function would always start and default back to zero making multiplication via an integral impossible. An initial value of 1 will fix the issue.
Output Definition
Used to select the output channel for the value calculated by your custom map, as well as what it should do with that value.
Output Channel
There are multiple options that exist for the output channel itself, however they can be lumped into two types.
Existing Channel Alteration - Performs an alteration based on the Output Function selected to an existing channel in the ECM.
Calculation Only - Only performs the calculation for the table, this value isn't output to a different channel being used by the ECU. However it is possible to take the calculation output and use it in a different custom map.
Output Funciton
When using an output channel to be altered by the custom map, this function decides what way the output function of your custom map is applied to the output channel.
Replace channel value with map output - This means the map output will completely replace the value chosen as the output channel overriding any other table outputs.
Add map output to channel value - Map output will simply be added into the channel value (positive values will have an additive affect while negative values will reduce it)
Multiply channel value by map output - Uses the map output as a multiplier for the output channel. Use fractions to have a reduction of value, and positive values to increase.
Use map output as a minimum/maximum for channel value - Uses the value in a manner similar to a limiter based on table output for what the min/max values can be for your channel output.
Add map output to integral. Add integral to channel value - Adjusts integral value for the channel output by adding the table output.
Add map output to integral. Multiply integral to channel value - Adjusts integral value for the channel output by multiplying the table output.
X-Axis Input Definition
Selects the input value for the x-axis. You can choose from an array of existing vehicle parameters or the calculation results taken from the various other RaceROM Custom Maps. You can choose whether the table should interpolate values between the different x-axis cells, select the closest, or go to the higher/lower cells.
Y-Axis Input Definition
Selects the input value for the y-axis. You can choose from an array of existing vehicle parameters or the calculation results taken from the various other RaceROM Custom Maps. You can choose whether the table should interpolate values between the different y-axis cells, select the closest, or go to the higher/lower cells.
Potentiometer Input Tuning
It’s possible to configure one of the ECU Inputs to adjust a Custom Map. By connecting a 0 – 5v potentiometer to the Input it’s possible to ‘adjust’ an input up and down enabling live or real time tuning.
The X axis is RPM and the Y axis is CPC Sensor Input for the 5v potentiometer.
This example shows Custom Map J will increase (advance) the Ignition Timing dependant on the potentiometer input voltage.
At 0 volts the ignition timing will not be altered.
At 5 volts the Ignition timing will be increased by plus 5 degrees.
So the ignition can be adjusted up and down as required whilst watching power output or knock correction.
This Cosworth BRZ project development testing shows the Injection Firing Angle and Ignition Timing being adjusted simultaneously with two potentiometer voltage inputs, on the GTR there are 7 voltage inputs to play with.
This YouTube video link can be found on the EcuTek You Tube channel by searching Cosworth or follow this link to the video clip http://www.youtube.com/watch?v=bB3PDkSqNo0
The BRZ/FR-S has Dual AVCS (Intake and Exhaust Cam Timing).
We can import two 0v - 5v potentiometers and use them to adjust the Intake and Exhaust cams live and simultaneously.
By creating a log file at the same time simply lock the engine RPM on a dyno on full load then dial the two pots back and forth until the peak power output is seen, once the peak output is displayed then simply release the Accel pedal and re-apply quickly to mark the current VVT angles in the log file for map calibration later on.
Repeat this test at 250 or 500rpm intervals to build the optimum VVT map profiles.
There are various high quality potentiometers available that can be dash mounted for the driver to adjust and fine tune various settings.
Here are a few suggestions:
Dash Mounted Adjustable Boost Control
This can offer the driver fully adjustable boost control, turning the Boost/WG Duty up and down as they wish.
Dash Mounted Adjustable Traction Control
This can be used as weighting factors for traction control allowing the driver to dial in more or less aggressive traction control as required.
Dash Mounted Torque Output Control
Simply turn the power up and down by acting on Torque values or Accel pedal multipliers. This can be Map Switch Mode specific and can make a simply Valet Mode.
Dash Mounted ‘Pops and Bangs’ Control
Configure a custom map to apply a heavy Ignition Retard during lift off, combined this with a rich AFR and the driver can control the intensity of the pops and bangs with the dash mounted control.
Output Limits
These maps set a minimum or maximum value for what your custom map can output. This prevents unrealistic or extreme values from being used.
Map List
Two Dimensional Maps
While all of the custom maps are three dimensional, if you structure the map carefully you can make a 3d map act as a 2d map. If you set only one input channel (In this case let's use Y) to your desired definition, as long as you add a complete x-axis in ascending order, even with no input, it will use the first column (0). If you fail to have a complete axis in ascending order, the map lookup function may not work properly. Always make sure to fully populate the maps and their axes with sensible values.
Custom Map Output as Input On Another Map.
If you set a custom map as "Calculation Only" as the output channel. That means the result will be calculated and stored for use in other maps.
As you're creating another map, you can then use it as an activation for another map
Or it can be used as a complete axis which will use the result of your other table against another input either from the ecu or another custom table.
Integral Output Functions
This feature allows you to create an integral that ramps up or down over a period of time. In the example below, the custom map is processed 100 times per second. This time frame update can vary depending on the vehicle and the selected output and is not adjustable but the values in the map can be increased or decreased to control the increment or decrement rate.
For the purpose of illustration, assume the map result is always 2. The first time the map is processed, the map result is 2, and this gets added to the integral 0 + 2 = 2. Then the integral gets added to the output channel (CPC Duty which is used for Wastegate Duty on BRZ). So the final calculation is (CPC Duty + 2).
One hundredth of a second later the map gets processed again, the result is 2 again, and this gets added to the integral. 2 + 2 = 4. Then the integral gets added to the output channel (CPC Duty). So the final calculation is (CPC Duty + 4) and so this continues.
The integral will start from the Initial value when the custom map becomes active, in the above example the Initial value is set to 0.
The Minimum allowed value is the top value and is set to -8 and the Maximum is the bottom value currently set to 10. The integral will gradually increase (or decrease depending on the X axis input) until the Minimum (-8) or Maximum (+10) allowed Integral value is reached.
This can be used for accurate closed loop boost control or closed loop fuel control on full load on BRZ or Nissan 370z models.