1985 GL1200 Limited ECU Replacement/Upgrade - Part 3 - Road Trials

Classic Goldwings

Help Support Classic Goldwings:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.


Well-known member
Supporting Member
Dec 25, 2015
Reaction score
Victoria, BC,
New thread needed. The Part 2 thread is at: 1985 GL1200 Limited ECU Replacement/Upgrade - Part 2

Mentioned this in the last thread:

"Good news and a milestone. Went for a 7-8 Km ride today. No sync losses, but the O2 sensor is indicating a rich mixture. Had it up to about 80 KPH. The engine operating temp went to exactly where I thought it would. Four bars on the temp dash temp gauge when on the road. Noticed the rear brake was a bit soft (non-existent) so some maintenance required."

Summary of project component changes so far:

Speeduino ECU - Arduino Mega 2560 microprocessor, the Speeduino aspect is the interface board v0.4.4
Sequential fuel and ignition
Single coil driver Bosch 211 - handles up to four ignition circuits
Ford F-150 COP units
Crank and camshaft sensors changed to Hall Effect sensors - only one camshaft sensor used
Fuel system upgrade with adjustable FPR
WBO2 sensor installed - 14point7 Spartan 3 with LSU ADV sensor
The new crank and cam Hall Effect sensors use the OEM PB sensor wiring
The WBO2 sensor uses the OEM Ns wiring
Cylinders 1/3 injectors use existing OEM wiring - new wires for cylinders 2/4
Cylinders 1/3 COP units use existing OEM wiring - new wires for cylinders 2/4 COP units
Various wiring changes to implement best practice(s) such as having the same clean power supply to the ECU, COP units and injectors.
Used as much of the OEM wiring to minimize wire madness, already a @#$% load of wires on this FI model.
External baro sensor to be installed - will use one of the OEM PB sensors
Using OEM crank and camshaft trigger wheels in a dual decoder mode.
Timing indicator modification done - Honda uses "marks" scribed on the crank flywheel. Aftermarket ECU(s) use timing in degrees. This mod is in the timing belt area, works well.

A couple of more short rides planned to do a few tweaks, nothing substantial. Have compared the VE table I have configured with the TS software VEA recommendations. Not too far off from what I think I have to do.
Had another road test today with new plugs, the ones I took out yesterday were quite black. As with initial tuning, the VE table is the key. This is the VE tables from today. The VEA table is an analysis of today's road test, the ECU VE table is what I have been tuning to. Very neat what can be done. Here's the two tables, top one is the software VEA analysis of the road trial, the bottom one is the ECU VE table:
VEA - ECU VE Tables 30 Dec 2023.jpg

Had the bike on the highway today, up to 100 KPH. Will be doing a road test tomorrow. To get a better feel for the way ahead. Tuning will start in earnest in the New Year.

Did some maintenance on the linked brakes, have brakes all round now.
It's getting very interesting. Doing some short road trials at this point. Want to determine where the engine MAP starts to be a non-supporter.

The CFI system uses SD and Alpha-N fuelling profiles. There are four 16X16 fuelling maps, two for SD and two for Alpha-N. Alpha-N is used in the higher power ranges, thinking 3000 RPM and higher. Thinking this because the MAP reading at approximately 3000 RPM is in the 85 to 90 Kpa range, almost atmospheric, on acceleration and drops down a bit when speed is stabilized. The TPS reading is still below 50%. Notice that the AFR/Lambda readings go rich on acceleration, more fuel than air.

Since Alpha-N uses TPS to determine engine load for the Alpha-N fuelling profile, there is a lot more room for engine tuning and performance.

Air being pulled into the engine is based on the pressure differential between atmospheric pressure and the pressure at the engine intake valve(s) even though engine pressure at the intake valve is called "vacuum". The greater the differential the better the air flow into the engine. The air chamber and amount of air that can be drawn into the engine for combustion is limited, a lot less than a car/truck.

I will be looking at the fuelling requirement, and determine if a second fuelling table - there is one available, can be setup for Alpha-N fuelling, or use a blended fuel table that transitions from SD to Alpha-N and back.

Have a platform setup where the Travel Computer should be for my tuning tablet:
Tablet Install.JPG
You are speaking greek to me, but this project is cool as heck! I'm definitely going backwards through your thread history on this. . .
Quick update - have been doing a few rides. Data from the rides is interesting. Seeing how the engine is operating and being able to make adjustments is quite satisfying. Started this project to get rid of the annoying fuel smell on start and during a ride. Have accomplished this so project is complete, NOT!

Had a couple of technical difficulties to attend to, and have rectified these. In the deep freeze at the moment so road trials are on hold. Gives me some time to look at the data logs and determine a way ahead.
Weather has not cooperated, trials on hold, but have been progressing my learning new schematic type app, KiCad. Not the easiest to learn, but I intend to conquer this one. I have tried a lot of drawing/schematic type programs in the past, got frustrated and into the bin they went. Have a good reason to learn this program, wiring and connections have changed significantly and a good wiring diagram is need. Will also do one for the other additions I have done. Here is the first iteration, more to do but a good start:


  • Print Schematic.pdf
    144 KB · Views: 0
It does take time to use a program at the start. I find that when I make changes to a component/whatever, it may not line up again - frustrating. I took some more time and finished V1.0 and it's not too bad. I made some symbols for fuel injectors and COP components, added in the WBO2 sensor wiring and side stand safety switch wiring. Have used some of the original connectors for different components such as the WBO2 sensor uses the connector and wiring that was used for the crank VR sensor, few other changes as well. Will be documenting these connector and wiring changes in notes and with a schematic. Here's the latest schematic.


  • ECU Wiring V1.0.pdf
    150.8 KB · Views: 0
Continuing with road trials. Lots of good tuning recommendations from the Speeduino forum. If this were a car, could have someone with me changing engine tune parameters on the fly, could do the same on the bike, but never easy doing anything extra on a bike. Have to change my tuning process to get tuning done while on the road. The engine is using a lot of fuel at this time, will be changing the VE Table cell values to compensate.

The recommended tuning procedure is to ride at a specific speed/RPM, stop, review data log. Repeat until the leanest stable cruise is found - just rich of "lean surge". Enter the AFR reading in the respective cell value, then tune ignition timing for minimum MAP.

For those of us that have never heard of this, I hadn't - wasn't looking for it either:

"Lean surge is typically related to a lean mixture (read typical factory jetting) and occurs when cruising along at steady state speeds with small throttle openings. You can actually feel the bike pull and then pause, pull and pause".

I will be doing this as a VE "block" change scenario. Will be monitoring the VE block of 56 to 90 KPa and 2000 to 4500 RPM. This is a 6 by 8 matrix.

Learning the tuning and analytic software is a challenge but getting there.
Road Tunng - more info. First need the tuning software and data logging analysis software. I have this software, licensed, and have just upgraded to the more recent upgrades. Have Tuner Studio MS Ultra and MegaLogViewerHD. This software is essential for engine tuning.

It was mentioned that the fuel consumption according to the data logs is like that of a bus. I agree, far cry fro. the 45 to 50 MPG I was getting before this project. This is to be expected as my tuning expertise is slow off the mark. Another comment was that AFR values upwards of 17.0:1 or better could be used to get into the economy zone. I wouldn't have thought this lean, but tuning and engine performance will dictate the AFR value(s).

Lots to consider when tuning.

At a point that requires me to "drill" down and use the VE analysis to get VE table cell values depending on the AFR numbers being used.

The recommended process is to do a road trial at a specific RPM/gear/speed range. Stop, and analyze the "block" VE area that you are concentrating on for the next level of AFR value(s). runs at the various AFR readings being considered for the same RPM/gear/speed range(s). The four AFR readings I am targeting are 15.0/15.5/16.0/16.5 AFR. Will use this process to determine which AFR value is good for the "block" VE area that is closest to the best to be used. These AFR values can increase or decrease as required.

I will expand this to different RPM/gear/speed range(s) to get more global data for the engine tune.

Once this is done, more road trials will be done but the "block" VE area being considered will be reduced from a matrix of 7 by 6, to a matrix of 3 by 5.

Once the initial AFR table cell values are adjusted, will concentrate on the spark ignition table cell values to further refine the engine tune.

This process will probably have to be reviewed/repeated after more engine tuning features are brought online.
Road trials are progressing. Tried a new tune with an VE table based on an AFR of 15.0:1, not going to happen, too lean. Dropped back to 13.0:1, went for a ride, changed AFR to 13.5:1, just on the cusp. Adjusted timing a few degrees, will need more time with this.

There is an Acceleration Enrichment (AE) feature as you would expect - the equivalent to a carb acceleration pump, and it uses either the MAP sensor - MAPdot, or the TPS - TPSdot. You set this at idle, then it applies a scaling factor to the AE settings between a min and max RPM. Any AE requirement below the min RPM setting and the AE adds 100% fuel enrichment. From min to max RPM it is scaled from 100% addition at min RPM to "0"% addition at max RPM - linear decrease. There is a cold engine temp compensation as well.

There are two fuel enrichment profiles, PW Adder and PW Multiplier. The PW Adder just adds additional fuel to the VE requirement, the PW Multiplier takes the percentage of extra fuel required, multiplies it with the VE requirement and comes up with a fuel value. I understand the PW Adder better at this time so it stays. The PW Adder is a better setting if you are into fuel injector changes.

I changed the AE settings from MAPdot to TPSdot as the response on multiple throttle blips with MAPdot was not smooth, had a lag time. With TPS dot it is much better. This is a picture of the AE tuning screen:
AE Screen.jpg

Another feature of Tuner Studio is the Tune Analyze Live. You can watch the tuning software analyze the engine tune in real time and look at the recommended changes. You could have this feature change the ECU tune on the fly, but this is not recommended until the various tables are well dialled in. This picture is illustrating what the tuning software provided for warmup fuel enrichment. The green marks are for the loaded tune, the red marks are recommended from the analysis:
Warmup TS Live Tune - 11 Feb 2024.jpg
This picture illustrates the engine tune and what the tuning software is recommending for the VE table:

TS Tune Analysis - 11 Feb 2024.jpg
The colours are important in that you want the tune to have more green than other colours, indicates that you are close to a good tune according to the software.

Still a work in progress, but have made significant inroad(s).
Road trials progressing. As mentioned new to engine tuning, great learning experience. Getting the fuel correct is key so working on the VE table with a few small tweaks to the spark (timing) table. Used the AFR table generator to get an AFR table. Hard to tune the engine scientifically at this point, car is much easier. Using the "seat of the pants" approach to tune the VE table. Works well, ride, try to stay steady state when "feeling" an engine change, mentally note the RPM and MAP readings, stop and adjust the VE table cell values in that area - up or down, back on the road and check the tune, repeat as required. Working not too bad.

Interesting observation. TPS opening from "0" to 10%, engine MAP is in the 55 to 80 kPa range regardless of RPM or gear. TPS open 10% and above, MAP reading 80 to 95 kPa regardless. Very narrow tuning range. Thinking using the second feeling table with TPS as load, and transitioning between SD and Alpha-n feeling profiles.

Learning more about Tuner Studio and its features. Able to change the dash look. Can customize it for say normal riding, engine tuning, and such. Very cool.

I looked at the table load/RPM scales and started to theorize about changing these allocations. We don't need 16 by 16 cell tables for normal engine operation, the ECU interpolates between cell values. Have the ability to move the cell spacing to better suit the engine operating parameters. Mentioned this on the Speeduino forum and received positive feedback. This is huge advantage over other systems that are more closed to the operator. Table spacing is a valuable tool. As was mentioned, move them where you need them. Changing the load and/or RPM column/row values provides better resolution where needed, and allows the ECU to better interpolate between cell values.

For example, engine operation above 4500 RPM is on a limited basis, if you're chasing an HD or something like that, but this bike is not a "balls to the wall", get up and go bike. I reallocated the RPM columns shortening the RPM spacing in the higher RPM range, and added additional RPM range in the 2000 to 4500 RPM range. This allows for better resolution in the RPM ranges I ride in. The three tables, VE/spark/AFR have been adjusted to suit. Having done this with the RPM range, will be adjusting the "Y" axis (load) as well. Don't operate in the 26 to 30 kPa range and if the engine does go to this MAP value, the ECU should use the last MAP value for engine operation.

These are the new "X" and "Y" axis values. Rpm "X" axis:
VE Table RPM Axis Values.jpg
The change is in the yellow highlighted area. Gained one RPM range where it's needed.

This is the load "Y" axis change I will be doing. Gained two load ranges where I think it's needed:
Table Load Values.jpg
Note the yellow highlighted areas for changes.

If I could just correlate this with the OEM CFI ECU tables that I have access to, it would be very telling. Only thing in my way is being able to translate the OEM CFI ECU table data into numbers I can relate to.
Going to be installing a remote Baro sensor and using one of the OEM CFI PB sensors. Bench tested it today, had done before, and all is well. Will be using an existing ECU 5V and ground circuit, just need to run a signal wire to the ECU. The PB sensor is a ND 179800 sensor, and this sensor characteristics are already in the tuning software and as such, should be able to use the tuning software settings.

Learning more about this ECU tuning software. Very flexible when it comes to different engine tunes. Have an engine tune ready to go for Alpha-n fuelling as a single primary table.

The second Alpha-n engine tune is for a blended Alpha-n engine fuelling using a primary and secondary fuelling table. There is a primary fuelling table for engine RPM up to 2000 RPM, then the fuelling table switches to the secondary fuelling table when the TPS signal is 11% or greater.

I need to look at the dual fuel tables and have a blended SD/Alpha-n fuelling profile.with the primary being a speed-density (SD) table up to 2000 RPM (MAP engine load), and then switching to the secondary fuelling table based on TPS engine loading. SD apparently is preferred for low engine loading.

Will need to have a custom dash look for each fuelling profile.
Corresponding with a fellow in the UK. He is reverse engineering the '85 OEM ECU. I believe I have mentioned this previously. He is looking into the programming for the travel computer as well.

We are having a conversation regarding the OEM engine timing. Specs are for an idle timing of 10 degrees BTDC put to a max advance of 45 degrees BTDC. Looked into the 1200 carb models, and the 1100 models.

A discussion has been had regarding the use of dual fuel tables, SD and Alpa-n usage. There does not appear to be a point in the programming where Alpha-n is used then switches to an SD fuelling profile, or vice versa. It would seem that the primary fuelling profile for engine operation is an SD fuelling profile, with a fall back to an Alpha-n fuelling profile when components fail or are faulty. More on this as information becomes available.

The 1200 carb models have the same specs 10 degrees to 45 degrees with a slight difference. From 10 to 33 degrees is an electrical advance up to 2800 to 3200 RPM. After this the timing advance is by vacuum up to 45 degrees. The 1100 is slightly different.

I have put together a new engine tune and have successfully idled the engine at approximately 1050 RPM with a timing of 10 degrees BTDC. The objective now is to tune the VE table with the new loading parameters, then the timing table.

The RPM values are the same as mentioned above, the load values have been changed to:

20/40/50/60/70/80 after this the kPa values go up in 2 kPa increments, 82/84/86/88/90/92/94/96/98/100. This illustrates the flexibility of this tuning software, and as long as the change is reasonable no engine damage will result.
Yesterday was a write off, weather did not cooperate for road trials. Good day to peruse the forums for pearls of wisdom regarding engine tuning, barometer sensor install, and such.

Found some very good information regarding the four-stroke timing cycle that made sense of the information I have regarding the GL1200 engine for intake and exhaust valve open/closing degrees.

Today’s post will be on a layman’s understanding, mine, of the four-stroke timing cycle and engine timing – advance or retard (more or less). This web site is a good explanation of thee 4-stroke timing: https://www.streetrod101.com/four-stroke-timing-diagram.html There are many more.

The four-stroke timing cycle has been the same since internal combustion engines (ICE) have been around. The basics are that the intake valve will open at approximately 10° BTDC and close at 40° after bottom dead centre (ABDC). Exhaust valves will open at approximately 40° Before BDC (BBDC) and close at 10° ATDC. These are generalities, every OEM may use varying degrees of the four-stroke timing cycle for its engines, but it will be close.

Now that this is out of the way, what about engine timing, to advance or retard engine timing and why.

First, I had to look into the cylinder piston, primarily because a lot of articles referenced cylinder piston position.

The premise is that you want the piston orientation and the maximum fuel pressure wave, the result of fuel combustion, to meet in the cylinder at the appropriate time to maximize engine power and performance.

There is a point in the cylinder piston travel before the power stroke where it is best for the fuel pressure wave to start in the cylinder to assist the piston in its downward movement during the power stroke. Don’t know the exact location, but there is.

Why am I concerned with engine timing. It’s because I am tuning the engine on my ‘85 GL1200 FI model Gold Wing. The process is to dial in the fuel table first, then engine timing and from this, the AFR table.

Let’s discuss spark duration to start. This is the amount of time the engine tune allows for the discharge of the coil through the spark plugs. It is a parameter set by the engine tuner in the engine tune software, and consequently into the ECU. Once the spark duration time is complete, there is no more spark, and the coil goes into a charge mode. Spark duration is in the millisecond (ms) range so it is not very long.

When do you want the fuel to be injected into the engine. This is where engine timing advance or retarded comes into play. Advanced timing is where engine timing is well before #1-cylinder TDC. Retarded timing is where engine timing is closer to #1-cylinder TDC.

Injecting fuel into the engine too early, timing advanced, will result in a poor fuel burn in that the fuel will have time to adhere to the intake walls, and be “spread” out over a greater distance because of atomization, and the total fuel "charge" will probably not be drawn into the engine cylinder. Reminds me of having a backfire through the intake. Engine timing retarded too much and you can have unburnt fuel entering the exhaust system resulting in a backfire out the exhaust.

An analogy for this is you have a tennis court and a football field. You dump the same amount of fuel into each, at the same temperature/pressure, and allow for primary atomization. The fuel in each atomizes prior to entering the engine cylinder, but the concentration differs. The intake valve opens on time, and the fuel is sucked into the engine cylinder. The amount of fuel drawn in from the tennis court will be more than that from the football field. The resulting fuel burn will be better using the tennis court then the football field, and hopefully, the engine performance, work and efficiency, will be better.

Spark plug colour is generally used to determine if there is too much or not enough fuel being injected into the engine cylinder. Too much fuel and the plugs are covered with black soot indicating that there is too much fuel (rich fuel condition – good in a sense, but not overall). A whitish colour and there is not enough fuel (lean fuel condition – not good).

The fuel quantity has been determined to be correct for the above analogy, but the engine timing is not quite right. There is a need for a field that is somewhere in size between the tennis court and football field.

This is a situation where the engine timing is too far advanced (football filed), and not advanced enough (tennis court). What needs to be done is to experiment with the engine timing to optimize engine performance and efficiency.

The procedure is the same as for tuning the VE (fuel) table. In my case, using specific parameters such as engine RPM, engine gears, and road speed. I will be noting the MAP gauge reading, and the AFR/lambda gauge readings as well. The purpose of this exercise as well as for fuelling, is to have the ignition table cell values such that the MAP reading is as low and stable as possible, and that the AFR/lambda reading is in an air-fuel mixture range that is acceptable, not too lean – not too rich. Once you have the VE (fuel) and ignition tables “dialled” in as best as possible for a specific set of parameters, and the AFR/lambda reading is what you expect, adjust the AFR table cell value for the area in question to the determined value.

Adjusting the ignition table cell values for best engine performance and operation, adjust the ignition timing cell values, in the area being tuned, move the cell values up (advanced) until the engine starts to falter – note value. Reduce ignition timing past the start value, down (retarded) until the engine starts to falter – note value. Split the difference and change to the new cell value.

You should start to see engine parameters such as engine coolant temperature, MAP and AFR readings change, and the engine operation improve. Spark plug colour should change/improve as well.

Once this initial tuning is done, I will have to visit the tables on a regular basis as I bring additional features on-line such as idle advance settings, WBO2 sensor, individual cylinder fuel trim (ICFT) and investigate tuning functions such as coil dwell, spark duration.

This subject is all about having the right amount of fuel injected into the respective cylinder at the right time to ensure that fuel combustion happens such that it complements/aids in the piston travel, engine power and performance is optimized, and fuel combustion is as complete as possible before the resulting gases exit the cylinder and enter the exhaust system. Do not want unburnt fuel spewing out the exhaust.

As mentioned at the start of this post, this is my interpretation of this subject. Don’t believe I’m too far out in right field, but can be off a point or two. Constructive comments are always welcome.


Latest posts