This page will outline the initial steps of getting your bike running with MyECU and how MyECU works with the map and how it can be used to tune the bike. When you receive MyECU, it won't come with a map tailored for your bike. To get the most out of your bike you may need to customise the map. Before continuing you should have read the MyECU owners manual or the Optimiser owners manual.
Your bike should be setup as required by the OEM ECU. Don't change things for MyECU except perhaps the idle stop.
If after the following adjustments the bike becomes unrunnable or very rough. Download the original map into MyECU and start again. Feel free to contact me for advice.
MyECU is built into the same casing as the original controller so it is a simple matter to replace the original ECU with MyECU. As shipped, MyECU has the lid removed to allow access. It is left to you to seal it as you see fit. We will be proceeding with the MyECU in open loop mode so make sure switch 1 is set to one.
With MyECU in place, turn on the ignition key. You should hear the fuel pump prime for 2 seconds. If it primes for 1 second the map is corrupted or not present. If the pump doesn't prime or primes indefinitely there is a problem and it is best to contact me at this point. Turn the key off and feel the power transistors for any heat. There should be none.
You will need to connect MyECU to your computer using the supplied RS232 adapter board. RS232 is a legacy interface and most new computers don't have it. If yours doesn't have a serial port you will also need to buy a USB to Serial adapter. I have USB to Serial adapters available. The network cable is for connecting MyECU to the RS232 adapter board. Do not connect it to your computer's network port. Alternately connect the Optimiser to MyECU
First start the ECUController program. It should start up and look blank like the following picture.
On turning on the ignition you should see values populated on the screen. Take a moment to check that the sensors are producing expected values. These are displayed in real time under the vertical bars. In particular note the throttle value. here it is 103. It will be required for the next step.
If communication with the ECU does not seem to be working go to this page for more information.
From January 2006, MyECU now ships with the TPS set to 0. This special value instructs MyECU to determine the TPS itself. For this to work you must have the fast idle turned off and have no throttle applied when the ignition is turned on AND for the duration of the fuel pump prime. This procedure will need to be followed each time the ignition is turned on until the TPS base is set to its proper value.
In the long term it is best to set the actual value of TPS base rather than leave it at 0. Use the value you noted in the previous section. For my bike it was 103. It should normally be between 50 and 150. If it is not you should really ask yourself why. The ECUController/Optimiser can be used to set the TPS base. Let's also edit the map file with Wordpad and modify the value manually. Look for the line with "TPS=" and change to use the correct value, for me "TPS=103". Now save the map using a different name, i.e. MyMap0.ecu.
If possible the first start is easiest if the bike has been warmed up with the original controller. If you can't do this then make sure your battery is fully charged as it may take a few attempts to start the bike cold.
When the bike does start, warm or cold, it is unlikely to idle, or may do roughly. This is to be expected at this point so be ready to apply a little throttle to keep the bike running. Allow the bike to warm up completely before continuing.
This next step of adjusting the idle mixture is important, not only for the getting idle smooth, but also for determining how suitable the map you are starting with is for your bike. Follow either of the two procedures below to determine the percentage correction your bike requires. Limit your correction to 10% to be safe. You can turn off the bike for the moment.
With the ECUController, load the map you saved (with your TPS value) and use the Global Map Adjust to apply you map correction to the entire map. Save this map to another file, i.e. MyMap1.ecu.
Now turn the ignition on and download the latest map into the ECU. Then turn the ignition off. Now start the bike again and allow it to warm up and adjust the idle stop screw to set 1100RPM. Because of the interdependencies it is best to go back to setting the TPS and repeating the entire procedure 2 or 3 times.
The map cell that affects the idle is cell ( 0, 1 ) - i.e. the bottom row, 2nd column. With the mouse, click on the grid at that location. Note the value of the injector duration that is displayed at the 2nd horizontal slider. Now reduce throttle as much as you can while keeping the revs close to 1100RPM. Move the Injector Duration slider ( try to the right first ). You should be able to find that sweet spot where the idle smooths and you can reduce the throttle completely. If the idle speed is not right after getting the best mixture, try adjusting the idle stop on the throttle body. Now note that injector duration again and calculate the percentage difference. For example if it was 4000us at first and it is 4400us now, you have increased the mixture 10%.
Enter the Autotuning menu. Turning the lower knob clockwise make the mixture richer. Slowly turn the knob, right first, to improve the bikes running. As the running improves you can reduce the throttle applied while keeping revs as close to 1100RPM. The Optimiser tells you the percentage correction being applied to the map.
If the correction you applied for a sweet idle is more than 5% this correction should be applied to the rest of the map using the ECUController's Global Map Adjust feature. For instance if you needed +10% for idle, apply +10% to the entire map. Do this by loading the previously saved map and saving to another map file - MyMap2.ecu. Then download this map to the ECU.
Now you're ready for some road testing. Ride cautiously as if the engine could fail at any time. The techniques here will depend on how you're optioned so I'll split it into separate sections.
Based on your riding you identify a problem area - for example rough running at 3000RPM. You also need to determine what the throttle is when the problem occurs. You can use the rpm/throttle mode of the tacho to help. Lets say it is just off idle. You don't know if it needs to be richer or leaner so you are going produce 2 maps. Now go to the map and locate the problem cell, add 5% to the InjDur value and save the map to a new file MyMap2p5.ecu. Now modify the original cell value to -5% and save the map to a new file MyMap2m5.ecu.
Now try one of the new maps. If it is worse, try the other map. It should be better. If it is unchanged you probably picked the wrong cell and you should probably contact me or use my forum for help.
Use this same iterative method to any other problem area.
Note: It is probably best to modify the cell's neighbours as well. If you added %10, give each of the 8 neighbours 5% to maintain a smoothness to the map.
Based on your riding you identify a problem area - for example rough running at 3000RPM. Now you centre the potentiometer so you can adjust both ways and then enter the autotune menu. You can now turn the pot clockwise to richen and anti clockwise to lean. When the bike is running smoothly you can commit the change to the map by pressing button 3.
Before going closed loop I recommend starting open loop and going through a couple of map iterations using the above procedure first. This is mainly to ensure correct operation of MyECU in a simpler scenario before complicating things.
Before you enable closed loop operation you need to verify correct operation of the sensor. You could use a digital multimeter to measure the voltage from the sensor. Given that you previously adjusted the idle, the voltage at idle should give you a good indicator of what targets to use in the map.
Set the 2nd value on the Flags 00 line to (O4). This enables closed loop operation at idle.
Set all the other Flags 00 line to (O0). This allows you to temporarily restore unity correction by closing the throttle completely if things don't work out. Adjust the map and download to the ECU.
Set SW1 to off to enable closed loop. With the ECUController still connected you can start the bike. Closed loop has a start delay built in and it will wait for the engine to warm before its start tracking the sensor input. This can be shortened by increasing RPM to over 3000RPM.
You should see the closed loop correction factor change about once a second at idle and should track with a fluctuation of a few percent. The sensor input may not be a stable. If you see the correction continually diverge to the maximum of +/- 25% then the sensor is not responding to the mixture correctly or the map is not correct.
Now we take the bike for a ride. So long as throttle/speed changes are smooth, MyECU should keep the mixture near optimal. If you find that a change in throttle causes the bike to die for a few seconds before recovering, there are some areas of the map that should be further refined using the techniques above.
All of the previous section applies and should be done first. Before using autotune, you should first know what sort of correction values closed loop is using across a range of RPMS and throttle settings. If you see any patterns like consistently at +10%, you should use the Global Map Adjust to apply these to the map first. If not the map autotune creates will be worse for a while.
First off you need to understand how the MyECU handles starts. Starts are handled in two stages. Stage 1 is when the engine is at less than 500 RPM. This is when you press the start button and the engine is cranking and lasts up to the first firing. After the RPM increases to more than 500 RPM the ECU enters stage 2.
During stage 1. the throttle is ignored completely. This allows flooding to be cleared by opening the throttle. The injector duration is controlled only by the "Prime" line in the map. The spark advance comes from either the map if TDCWhileCranking=0 or is zero degrees if TDCWhileCranking=1. The latter should be used if there is any kick back from the engine.
During stage 2. the injector duration is taken from the map in the usual way but a short term boost is applied from the "Crank" line. This boost gradually decays to nothing in around 10 seconds or so.
Note that both the prime and crank lines are based on temperature from the coolant or oil temperature sensor.