Most time people will have the battery off for less then a min. That might not be enough." Try for at least 12 hours...
I've had ECU's sitting on the bench for maybe months or a year or more still hot. So the deal goes like this:
1. Remove ECU from connector or however easy it is to get at all the pins on the black box.
2. Find ground pin on the ECU.*
3. Ohm meter set to volts or millivolts.
4. Ground probe of the meter is clamped to ECU's ground pin. Positive probe taps every pin.
5. Watch the meter for a spike at a pin. You tagged a capacitor still hot holding voltage. Go back and tap that pin again till it shows no volts like the other pins you'll tap going down each row.
6. Install the ECU back in. Bike starts at zero (0000) ROM.
7. All OEM sensors/stepper motors reconnected. Bike is as if rolling out the dealer door brand new, etc.
8. Key on/engine off, all sensors are pinged, should show no codes on the dash.
OR:
9. EXVL pops up as the only code.
10. Still says 3c = 'Open' [wire dropped] from ECU to stepper motor.
Going to guess the stepper wires being 3.
1. Ground wire. This says it can move in both directions.
2. Hot wire. This says it completes the loop to magnetize the motor.
3. ECU motor wire. This is an output signal like to the spark or injector. This is where I stub my foot. You said it does actuate if revving or key cycling. I'm thinking it cycles like some tach and speedo's zero out at the dash, key on? But that says 3rd wire did come from the ECU and did zero [motor] itself out [if applies]. Get it? All wires show a complete loop (+/-) and receives output -3rd wire.
Remember... for some of these bikes there are many modes of input for the error to come in but only ONE error light? So it could be anything.
So let's play this scenario. Say you found the glitch you mentioned addressing, say that did not clear it. Now say you ride it and find the next 'phantom code' accumulate on the dash. Sort of remember who popped up first and then once all are showing, start with the second code set, then try to match that in the loop of sensors.
For example: Could not stop a guy from throwing parts at it, because he said it cleared with key on. So the loop was the [replaced] cam sensor threw itself as a 'phantom' code again. <<< NOLTT. Whereas, he found the crank sensor bolt came loose... [installing an aftermarket advancer].
Kind of see the crank was still within spec and could fire off the bike, but no code sent because it has to fail to set a code. Plus it did not meet the 3amigos in siesta under the trouble tree. But those two were both in the loop and counter coded. That's what he was talking about. So a second spit code would or should be in some sort of 3some?
The 3some being the example of cam/crank/ECU?
I guess I’ll sort the short first and go from there.
How far along with that variable are we?
* Ground: 12v and 5v have their own ground. Find ground on a sensor, the injector wire. Might show a multiband in the wire? A 12v wire might have a single color or a line of a different color. Those might have two different grounds on the frame going out of the main harness. Find those ground colors and your ground at the connector going into the ECU's ground pin.