Help with building your Speeduino, installing it, getting it to run etc.
User avatar
By Rusty85
#69129
Hey everybody, I'm hoping to convert my car from a GM 165 Maf ECU to a speeduino.
This is a V8 TPI with 8 injectors wired in left/right banks. I believe this should go together
the same way a TBI system with the same 7 pin HEI distributor does but I want to be sure.
I switched from the 85 ECU to the 165 around 10 years ago (easy change). Burning proms
bothered me less than never being sure if the values I changed were really doing
what the tunerPro .Def file said it might be.

I was planning on using the flex fuel input for the VSS. The service manual states this outputs .6-battery voltage. I'm assuming I need a voltage devider for that?
I also have the stock knock sensor which also puts out too high of a voltage and wanted to set that up but was hoping for some confirmation.

My main issue, I can get the car idling/running alright with the module disconnected from speeduino control. With the speeduino connected timing jumps 5-8 degrees under 1200 RPM.
Above 1200 it jumps up/down 2-3 degrees around my target and thats how I've been setting the trigger angle.
I have checked with my timing light to verify my trigger angle and I've tried adjusting the base timing/trigger angle to try and get it working but I'm not having any luck. From the high speed logger it looks OK to me?
I have my trigger input connected to RPM1 and a DSC with the jumper set to TSC with the 5v pullup disconnected. I wasn't getting a signal when I bench tested it with the jumpers set to "direct" and the 5v pullup connected.
I've tried trigger filtering off-medum. I tried per-tooth timing on and dwell error correction on/off.

I've also been having some odd behavior at 1500 rpm. The "Idle ON" is always off until 1500 rpm, then it flips on/off and I can see the IAC load increase and the gama enrich jump up. this generally kills the engine and I can try getting a log of this happening.

Once I have it mostly running I'll share my wiring setup and put out the base tune for others. My VE is from the stock 90-92 l98 tune converted manually and some gaps averaged. The timing table hasn't been used yet but I took that from my last tune with the stock computer.
Attachments
(22.75 KiB) Downloaded 57 times
(1.64 MiB) Downloaded 61 times
(72.77 KiB) Downloaded 43 times
(11.21 KiB) Downloaded 46 times
User avatar
By Rusty85
#69284
I switched everything around and I'm no longer running the signal through the DSC. I have some BS170's on the way to build the conditioner mentioned in the speedboat thread /in the documentation.
The new question, I should be able to use my DSC for the knock and VSS signals to bring down the voltage correct? I'll make sure the conditioner with the mosfet works and get a little board built for both that and the other two input and share it here.
User avatar
By PSIG
#69288
Congratulations for diving in! :lol:
Rusty85 wrote: Mon Aug 05, 2024 7:46 pm I was planning on using the flex fuel input for the VSS. The service manual states this outputs .6-battery voltage. I'm assuming I need a voltage devider for that?
I also have the stock knock sensor which also puts out too high of a voltage and wanted to set that up but was hoping for some confirmation.
Rusty85 wrote: Thu Aug 22, 2024 8:51 pm I switched everything around and I'm no longer running the signal through the DSC. I have some BS170's on the way to build the conditioner mentioned in the speedboat thread /in the documentation.
OK, I'm not sure how you wired the HEI module before, nor now. I don't see the "B" pin connection in your files, for example, so with/without control connection it could simply be a difference in the module and Speeduino timing. Let us know if you followed the documentation from the archived old Wiki here, or did something else. I rely on the Wiki as baseline, so if anything is different from the boat thread to the Wiki (same guy), specify what's different.

Rusty85 wrote: Thu Aug 22, 2024 8:51 pmThe new question, I should be able to use my DSC for the knock and VSS signals to bring down the voltage correct? I'll make sure the conditioner with the mosfet works and get a little board built for both that and the other two input and share it here.
Yes, if the signal is high-low voltage, or use a 'voltage regulator' input circuit (example here) in order to protect the processor. However, if the signal is high then ground when low (not just low volts when low), you can use just an inline diode with a pullup on Speeduino. Find that high-voltage input signal info just above the HEI section in earlier link above.

Not to confuse, but expand perspective; the HEI module signal inputs can be treated the same ways. ;)

Rusty85 wrote: Mon Aug 05, 2024 7:46 pmMy main issue, …
I'm going to skip the other things for the moment, until I have a firm grasp on the setup. TPI is straightforward, and should not experience any or many issues. What I'm reading should sort pretty quickly. Your tooth log looks fine. For tables and tune, just get it running and warmed to temperature, then begin tuning it. For any functions not required to run the engine (O2 corrections, IAC, Idle Timing, etc), I would flat-line, open-loop, or disable them until a foundation tune is established. Until then they can fight you or hide engine response to your changes. ;)

Keep in-mind you are not tweaking your adapted tune, you are using your tune to get it to run, so you can fully tune it from the ground-up. Much faster, quicker and better with that mind-set. 8-) Log everything, use MLV to 'see' what the engine is telling you, and have fun!
User avatar
By Rusty85
#69289
Right! I turned off what I found that I wasn't going to use or wasn't sure about. I did have the idle advance on (as a test), I turned that off and re-flashed the duino and don't see the idle on/off behavior anymore.

I didn't actually set up the cranking bypass but I did put the resistor in place. The service manual spec says it should be 4.75v and not actually 5v so I've tested dropping the voltage with higher value resistors to the module to see if it helped but it didn't seem to make a difference. I do have the v5 pull up jumper in place and thats maybe helping? Other than the bypass I have the module wired/setup how the wiki says to (now with the DSC removed)

In my more recent tooth logs it does seem like it may be dropping the signal at low speed. The timing gets less stable as the rpms get down closer to idle. And It seems like the timing retards more as the rpms drop from my timing light (as the engine dies). The other thing I can see at low speed is my tac will start "jumping" a bit at low speed as well. With the module in control the idle isn't as "strong" as it could be with just the 12 degrees of timing but I don't get the tac jitter.

I have a no-name module in there that came with a new distributor base but I have two pertronix modules I could try instead. My original distributor body was cracked at the bottom (probably from decades of thrust load from the camshaft) and I assumed that was messing with the signal with the reluctor closer to the coil on one side than the other. I've been trying to get this working here and there for a few months so I've tried quite a few things but I'm open to more suggestions. I've been a software developer for around 12 years and I'm a big fan of teensy's but the EE part is outside of my wheelhouse.

The VSS signal from my T56 transmission is 6k pulses per mile but goes through a dakota digital box to drop it to the stock 3k and lets me make adjustments to the signal.
The knock signal I'm not so sure about, I figured I would get to that once its running. I will look at it with my scope when I get there.
I have a solid state relay to "invert" the fuel pump relay "ON" from what I read about with an MS2 plug and play that was once available from diy-efi that seems to work just fine.
Other than the relay, VSS, and knock signal I have everything else wired directly.
User avatar
By Rusty85
#69294
It looks like your diode circuit should be perfect for the ESC (Knock sensor). I found some old references to the module "pulling low" when a knock is detected. For the VSS the service manual is showing .6v-B+ so I may need the Zener version for that but the dakota box may be grounding it so I'll test that out.
User avatar
By Rusty85
#69325
Unfortunately the filter circuit didn't fix the main issue. The timing still retards the lower the rpm goes. Is there and older firmware version I should try? Otherwise I think I'll get the wiring back together for the stock ecu, I do need to adjust the tune a little but that was running when it didn't do something strange.

I'll get an ardu-sim setup and see if I can reproduce the behavior on the bench. Maybe there needs to be a "floor" value for the timing?
By JHolland
#69342
If the timing is advancing with RPM then that sounds like the input signal does not have a sharp edge to it, adding a filter will make it worse. Have you put an oscilloscope on the signals?
By punisher454
#69401
Ive done several GM TBI and TPI setups ('165, '730, '727 and '427 GM ecu's using TunerPro) and have noticed a few weird things about the HEI modules.
I am Assuming you are using a large diameter distributor and 7-pin module. I usually use the small diameter distributor and 8-pin but they should work the same. So what i have noticed is the modules seem to have built in advance curves. We have always been told that when the "bypass" connector is disconnected the base timing can be set because there will be no advance going on, but I've noticed that when I rev the engines on these there is quite a bit of advance being added to the base timing when the module is running without computer control(bypass mode).
There are also differences between the car and truck modules, with the truck module supposedly retarding the timing above a certain RPM. this is the reason that there are basically two different sets of values used in the spark latency tables depending on application.

I have also noticed that sometimes(occasionally) some of the modules dont play well with external devices and give real weak signals to aftermarket ignition boxes like the MSD-6's. Usually its fine, but sometimes its a no-go with a lot of missing and erratic timing, cant explain it, i just usually get rid of the module and wire the boxes directly to the pickup coil and ignition coil and the problems solved, even though you are SUPPOSED to be able to connect to module.

I think you should be able to just ditch the GM module and directly wire the pickup coil in the distributor as a typical VR sensor and let speeduino do all the timing control without dealing with a "middleman". Of course you still need to use a VR conditioner on the speeduino.

Anyhow, if you are using a GM ignition module you may want to verify the actual timing with the engine at various different RPM's so you can see if you are actually getting the timing you think you are.

You could also just get the crank sensor setup from a vortec pickup. they are a hall sensor so no VR conditioning needed.
User avatar
By PSIG
#69406
The last two posts are very good info, with many points. My angle is to either note the timing progression and alter the timing table with a simple interpolation across the table using theImageto compensate. Likewise, tuning should be to best actual timing, no matter what is indicated in a table, so table timing is effectively irrelevant except for reference.

In this case, the module output should be a clean, sharp square wave (or close to it), making the issue with the module, not Speeduino. If you have an oscilloscope, you can verify your module output is decent, such as the signals I pulled from a 4-pin module (below) using the module as a VR signal conditioner on a missing-tooth wheel. It's a bit ugly, but usable, at 17500 rpm. :lol:

GM_4-pin_conditioning.jpg
GM_4-pin_conditioning.jpg (57.92 KiB) Viewed 997 times

Last, I often bypass modules that 'mess' with the signal poorly, going direct from VR to the ECM (as already stated), verifying VR polarity, side-stepping both issues as necessary. 8-)
User avatar
By Rusty85
#69413
I have been verifying the timing with my timing light (with an advance function). I'm using the same wideband and timing light I had tuned the 165 with. I had my base timing at 12 degrees with the 165 as well, I'm trying to keep to what I know the engine liked. I'm using that as a reference for what the engine is actually doing and less for what exactly I'm putting in the tune. I'm looking for the expected outcome and not relying on the exact numbers. I'm aiming for relative consistency. With the 165 I had the engine happy (no dip when the fan turned on) with 32 degrees of timing and the wideband jumping between 16.5-17.5 at 600 rpm. Once I'm back to a happy idling engine I'll work on the tune.

I made a few changes that seem to have helped, I also was a bit hasty in assuming the trigger filter didn't change anything. Apparently with the filter my trigger angle changed 15 degrees, which I didn't expect. After adjusting that at ~1000 rpm and making sure the distributor was completely tightened down and in the same place I was able to get down to ~750 rpm but still unstable. The main thing I adjusted was my cranking rpm, it was far too close to idle. I have that set at 200 rpm now and I've added the cranking bypass just in case. The timing is still very jittery below 1000rpm but its actually gone in the other direction, its advancing the timing now (on average) more than retarding the timing . I think I can work with that to get it more stable since the engine hates the retarded timing. Above 1000 rpm my timing is about where I've set it in the "locked timing" box (the timing jitters a few degrees).

When testing I am watching the timing with my timing light, previously it would continue retarding the timing as rpms decreased to ~15 degrees ATDC before the engine died. I am reducing the rpm by closing the throttle body with one hand and holding the light with the other, the IAC is set to 20 steps for now. The speedy doesn't seem to register the lower TPS position as a negative % from the logs so I don't think thats an issue.

I'll try watching both the output from the speedy and the input from the module with my oscilloscope to compare if I can. I've previously compared the tooth logger to my scope just to check that it appeared to be working.

I have another duino and a nano to see what happens with the tune on the bench with ardustim. I'm not sure if it would be better to check with my scope or try to read the outputs directly back into the nano?
Battery Voltage Warning

Oh my god, I found out where the board type is s[…]

I know this is going to be an issue. Just asking […]

Motronic 1.1/1.2/1.3 55pin v2.2 boards

I have 2 new v2.2 boards. If you have a cool proje[…]

A log is more useful than a video. Hardware testin[…]

Still can't find what you're looking for?