MyECU User Manuals

Switches

MyECU has four switches within the unit that can be set by the user to modify it's behaviour. These are
  • SW1 - Disable closed loop operation. Setting this to on will make MyECU operate open loop in a similar way as the OEM ECU. The oxygen input is completely ignored. If you do not have an oxygen sensor fitted this switch should be on.
  • SW2 - Disable engine sensors. Setting this to on will cause MyECU to ignore oil temperature, air temperature and air pressure inputs. This switch is normally off but could be turned on if one or more of the sensors failed. Cold starts will be affected as no choking will be performed. Closed loop operation with this switch on should work OK except in extremes of altitude and temperature as closed loop operation with only adjust the map by 25%.
  • SW3 - (My16M) Disable Throttle/RPM tachometer display. With this off, the tachometer is a multifunction display alternatively showing RPM and throttle position. When on, the tachometer will just display RPM.
  • SW3 - (MyP8) Invert Spark Output. The OEM P8 controller drives the spark coils indirectly using external ignition coil drivers. MyP8 is able to drive the coils directly but it must invert the polarity of its outputs. This is probably only necessary if the external modules fail our you're trying to save weight :-) . Normal case is SW3 off.
  • SW4 - unused. leave off.

Tachometer (My16M, My15M )

The tacho is now a multi purpose display. Currently the instrument alternates between RPM and throttle position. The 0 to 11 on the tacho correspond to the rows in the map. This is an aid to tuning as without some form of throttle display it is difficult to know with part of the map the engine is operating in. SW3 as mentioned above will disable this feature.

ECUController

ECUController is a Windows program that allows modification of MyECU's map and other configuration items. ECUController can be used offline to edit map files or it can be used online, connected to MyECU over the RS-232 serial connection to do map transfers or diagnostics. A PC with a serial port capable of running Windows 95 or better is required.For newer PCs with no legacy serial connection, an inexpensive USB-serial converter can be used.

The latest version of this program will be sent to you when your purchase an ECU or receive a firmware update. A demonstration version can be loaded from here (80K zip file). Installation is not required, just run the EXE.
DO NOT use this version with your ECU. Frequent changes to software will guarantee compatibility issues.

Functionality of ECUController can be summarised into the following groups

  • Map initialisation, transfer and storage
  • ECU Configuration
  • Map editing
  • Diagnostics
  • Communications and status

Below is a screen shot of the ECUController.Note that the update of the central display of input sensors requires connection to the ECU and the ignition key turned on. The same is true for fields in the lower left.

ECUController screen shot

Map initialisation, transfer and storage

This is proved by the four buttons at the top centre.

  • "Load Map from File" will allow selection of a map file (.ECU file) and load it into the ECUController's memory
  • "Load Map from ECU" will upload the entire map from the ECU into the ECUController's memory. A visual indicator of this upload is a square moving through the grid at left. The status line will also be updating with the ECU communications.
  • "Save Map to ECU" will download the entire map stored in the ECUController's memory into MyECU EEPROM storage. Like the map upload, a visual indicator of this download is a square moving through the grid at left. A difference this time is the rate at which the square moves. The ECUController will only program those cells that need to be programmed. The square will appear to stall briefly on those cells. The status line will also be updating with the ECU communications. To be more robust, multiple passes are made until no more updates are necessary.
  • "Save Map to File" will save the entire map in the ECUController's memory to a file.

Note - Maps should be treated as software and backed up as such.

ECU Configuration

This is accessed by pressing the MyECU configuration button. The following dialog will then appear.

ECU Config dialog

Configuration items are

  • RPM limit - This is the upper RPM that the ECU will allow. Above this level the injectors stop firing.
    Warning - Increasing this value without regard to the condition and operating parameters of your engine can result in engine damage.
  • Oxygen sensor target volts. These numbers represent the voltage that the sensor provides. The voltage must be between 0 and 5 volts. 0 volts is a special case and means go open loop.If the gas sensor gives an inverted output ( higher voltage = leaner mixture ), then voltages should all have a negative sign. These 8 values are referenced from the map by their index ( 0-7, 0 is the bottom number ).
  • Idle TPS. This value of the throttle at idle.The fast idle lever must also be fully home. The value you put here is the value displayed by the Throttle vertical slider.

Press OK when finished. If MyECU is connected it will be updated also. Press Cancel to discard any changes.

Diagnostics

The vertical sliders are updated continuously with the actual data being read from the ECU. Display of these values allows invalid readings to be detected and the throttle ( 5th slider ) allows the TPS to be set without having to refer to voltages.

The vertical sliders are the analogue inputs to the microcontroller and are all 10 bit quantities capable of reading 0 -> 1023. 0 volts is zero, 5 volts is 1023.

1. O2. The gas sensor voltage, 0 to 5 volts.
2. Oil/Coolant temperature in degrees Celsius.
3. Air temperature in degrees Celsius.
4. Air pressure in millibars
5. Throttle position indicator. This is a raw count.

The lower left of the ECUController is a display of the RPM, throttle and closed loop correction. Throttle is displayed as a map index. The RPM and throttle determine which part of the array the engine is operating in and this is reflected by a small square moving around the grid. The closed loop correction is the percentage multiplier being applied to the map to produce the required fuel/air ratio. For example if 105%, the static map is lean and needs to be enriched by 5%.

Global Map editing

Global map editing provides a convenient way to apply "broad brush" changes to the map. It is intended to be used offline, to do the initial changes to the map that may be required when you originally receive MyECU.Pressing the "Global Map Adjust" button will pop up the folowing dialog.

Global Map Editing dialog

Throttle range and RPM range are entered to select a rectangular portion of the map. Then the adjustment to be made is specified. Both mixture and spark advance changes can be made simultaneously. The change is applied by pressing OK or Apply.

It is also possible to move the map throttle and RPM breakpoints around. When changing the breakpoints the map values will be correctly recalculated by interpolating the values in the original map. Pressing "Throttle Breaks" will pop up the following dialog.

Global Map throttle dialog

The values here are RELATIVE to the base of the map.The base is set by the "Idle TPS" setting above. Row 1 is the idle throttle and it should be left at zero. Note the numbers displayed on the right axis of the grid are the numbers in this dialog PLUS the idle TPS value.There is normally little reason to change these values.

Pressing "RPM Breaks" will pop up the following dialog.

Global Map RPM dialog

The 500 RPM is needed for starting so don't think you can remove this. The 1100 RPM column should be set to match your idle speed. There is normally little reason to change these values.You may want to concentrate the RPM columns around the motors torque peaks or troughs to increase the accuracy of mapping,

Pressing "Prime" will pop up the following dialog.

Global Map Prime dialog

This table is very important in starting the bike. While the RPM is less than the first column ( 500 RPM ), ie when turning on the starter motor, the Prime table is used to determine the amount of fuel. The value here represents the number of milliseconds the injector is fired for EACH cycle.The values used depend on the oil/coolant temperature. NOTE: Throttle is ignored while cranking.

Pressing "Crank Boost" will pop up the following dialog.(Yes the dialog title is incorrect)

Global Map Boost dialog

Once the bike fires, the RPM will increase to more than the first column ( 500 RPM ).At this point the fueling is determined from the map as is normally the case. There is however an initial boost above what the map says. This table, also indexed by oil/coolant teperature, is a percentage % boost applied to the map. This boost is short duration and decays to 0 in about 20 seconds. If you find the bike fires readily but doesn't keep running, this is the table to adjust. NOTE: The map value used is already corrected for air temperature and pressure and for oil/coolant temperature before being boosted by this table.

Map editing

To edit the map it is first necessary to select the cell required from the grid at the left. Clicking the left mouse button in the grid draws a large square in the grid and the horizontal sliders at right are updated. A command is also sent to the ECU to fetch the contents of that cell. When this occurs a smaller square appears in the grid. The sliders can be used to adjust the cell. Changes to the currently selected cell are downloaded to the ECU in real-time.

The ECU has a single cell edit buffer in RAM that overrides the cell in EEPROM allowing changes to actually affect the engine. The edit buffer is not saved saved permanently until "Update EEPROM" is pressed. To edit a number of cells, click on the first cell, make the changes, click on the next cell, make the changes, ..... then click "Save Map to ECU" to download all the changes made. If you click on a cell twice you may lose the changes you have made.

The "Apply O2 Correction" button is useful only when you have the bike on a dyno and with an oxygen sensor fitted. The typical use case is to set the engine at a speed and throttle position that is as close to the map intersections as possible. Wait for the closed loop software to stabilise and then press the button. You will see the closed loop correction move to the 100% mark. Repeat this procedure for the other map intersections.