Help with building your Speeduino, installing it, getting it to run etc.
User avatar
By Razorbeam
#50368
Hello all! I'm currently working on a speeduino install on my 1992 Range Rover Classic. I have owned the car for many years and am finally ready to get rid of the distributor and antiquated EFI. This is my first foray into any sort of standalone ECU install. Like most British cars, the rover has it's fair share of electrical oddities. The Lucas designed 14CUX system is actually not a bad system once it's setup properly. The problem is it can be quite finicky and even at its best still is sluggish, inefficient and buggy. I've learned a lot about EFI over the last few years and have read a few books on tuning engines, but never attempted something like this.
I decided I wanted to install speeeduino to achieve three things:
- Ditch the distributor and antiquated 80's EFI computer
- Have a more robust and reliable engine management system
- Learn a new skill/have a deeper understanding of how my engine works

So far I have done the following:
- Purchased a 0.4.4v Board and Mega 2560, download firmware, setup tuner studio
- Set base tune based on similar Rover V8 setups
- Built the injectors, input sensors, and IAC portion of the wiring harness
- Purchased an O2 sensor, trigger wheel, and all sorts of relays, fuse boxes, and terminal junctions.

Still need to:
- Finish wiring harness including coils (LS2 type), and crank trigger
- Mount trigger wheel and sensor mount
- Build relay board and mount for Speedy
- Drill and weld bung for wideband sensor (Innovate LC-2)

Some questions I need to solve for before I can move forward:
- Fuel Temp - the old system takes into account fuel temp. I see on tunerstudio that fuel temp is an option, however I don't understand how to assign a pin to this sensor or if it would be worth it
- Vehicle speed senor - the old system used input from the vehicle speed senor to control the fuel cutoff on overrun. Under 3mph, the fuel cutoff is overridden to prevent stalling. I don't believe the Speedy accounts for vehicle speed, so is there another way that the DFCO is handled?
- High idle trigger - the old system will trigger a higher idle (using the IAC stepper) to compensate for additional load from the A/C or heated front screen. Is there a way to assign pins to these inputs?
- IAC Stepper - I understand how to wire up the stepper motor, but is there a way to "tune" it in Tunerstudio? I guess my question is, how does the Speeduino know when to add in extra air using the stepper valve?
- Clutch switch - currently the truck has an automatic transmission, however I have a manual transmission for it. I'd like to get speeeduino setup before I swap the trans, but I'd like to add a clutch switch. I've read through some posts and wiki, but don't understand the circuitry
- Pullup resistor - I purchased my board pre-assembled. Included in the box was a ULN2003 resistor. I found this web page (below) that talks about the pullup resistor, but can't find much mention of it elsewhere. Can someone explain what this is used for. I understand it increases the output of the board to trigger relays, so I will need to use it for my fuel pump relay. Will I need it for my clutch switch as well? https://speedyefi.com/ulns-and-pullups ... nch-oh-my/
- Purge valve - Currently the truck has a charcoal canister where the fuel tank vents through. There is a purge valve into the intake plenum that opens on startup. The purge valve is controlled by the 14CUX system. Is there anyway to control this valve with the speeduino? Alternatively, could I use a time delay relay or something to achieve the same goal?
- Hall effect crank sensor - Can someone recommend a good quality hall effect sensor to use with a 36 - 1 wheel?


Appreciate any insights people are willing to share. I'm new to all of this electron moving stuff, so please bear with me. Will update this thread as the project progresses.
User avatar
By jonbill
#50369
I can answer a couple of those questions.
1) fuel temp is only available as part of a flexfuel sensor. there's no pin for it, its encoded in the flex fuel signal.
2)DFCO. config includes rpm cutoff below which its not active and TPS position above which its not active. on mine its set to 1700 rpm and 1% TPS.
I've not used the other things.
#50374
Ignore fuel temp. Speeduino doesn't use it.

Same for charcoal canister.

VSS is available. You can find the settings in tuner studio. Same thing for your IAC. Same thing for idle input. Clutch switch is only used for launch control. The ULN is not a resistor. It is a transistor array. You don't even need it. You can reassign you boost output to control fuel pump instead.

Crank sensor. Cherry.

Everything you are asking about is covered in the wiki or can be found by looking through Tunerstudio settings.
By ric355
#50375
Razorbeam wrote: Sun May 16, 2021 8:10 pm Hello all! I'm currently working on a speeduino install on my 1992 Range Rover Classic. I have owned the car for many years and am finally ready to get rid of the distributor and antiquated EFI. This is my first foray into any sort of standalone ECU install. Like most British cars, the rover has it's fair share of electrical oddities. The Lucas designed 14CUX system is actually not a bad system once it's setup properly. The problem is it can be quite finicky and even at its best still is sluggish, inefficient and buggy. I've learned a lot about EFI over the last few years and have read a few books on tuning engines, but never attempted something like this.
I decided I wanted to install speeeduino to achieve three things:
- Ditch the distributor and antiquated 80's EFI computer
- Have a more robust and reliable engine management system
- Learn a new skill/have a deeper understanding of how my engine works

So far I have done the following:
- Purchased a 0.4.4v Board and Mega 2560, download firmware, setup tuner studio
- Set base tune based on similar Rover V8 setups
- Built the injectors, input sensors, and IAC portion of the wiring harness
- Purchased an O2 sensor, trigger wheel, and all sorts of relays, fuse boxes, and terminal junctions.

Still need to:
- Finish wiring harness including coils (LS2 type), and crank trigger
- Mount trigger wheel and sensor mount
- Build relay board and mount for Speedy
- Drill and weld bung for wideband sensor (Innovate LC-2)

Some questions I need to solve for before I can move forward:
- Fuel Temp - the old system takes into account fuel temp. I see on tunerstudio that fuel temp is an option, however I don't understand how to assign a pin to this sensor or if it would be worth it
- Vehicle speed senor - the old system used input from the vehicle speed senor to control the fuel cutoff on overrun. Under 3mph, the fuel cutoff is overridden to prevent stalling. I don't believe the Speedy accounts for vehicle speed, so is there another way that the DFCO is handled?
- High idle trigger - the old system will trigger a higher idle (using the IAC stepper) to compensate for additional load from the A/C or heated front screen. Is there a way to assign pins to these inputs?
- IAC Stepper - I understand how to wire up the stepper motor, but is there a way to "tune" it in Tunerstudio? I guess my question is, how does the Speeduino know when to add in extra air using the stepper valve?
- Clutch switch - currently the truck has an automatic transmission, however I have a manual transmission for it. I'd like to get speeeduino setup before I swap the trans, but I'd like to add a clutch switch. I've read through some posts and wiki, but don't understand the circuitry
- Pullup resistor - I purchased my board pre-assembled. Included in the box was a ULN2003 resistor. I found this web page (below) that talks about the pullup resistor, but can't find much mention of it elsewhere. Can someone explain what this is used for. I understand it increases the output of the board to trigger relays, so I will need to use it for my fuel pump relay. Will I need it for my clutch switch as well? https://speedyefi.com/ulns-and-pullups ... nch-oh-my/
- Purge valve - Currently the truck has a charcoal canister where the fuel tank vents through. There is a purge valve into the intake plenum that opens on startup. The purge valve is controlled by the 14CUX system. Is there anyway to control this valve with the speeduino? Alternatively, could I use a time delay relay or something to achieve the same goal?
- Hall effect crank sensor - Can someone recommend a good quality hall effect sensor to use with a 36 - 1 wheel?


Appreciate any insights people are willing to share. I'm new to all of this electron moving stuff, so please bear with me. Will update this thread as the project progresses.
My project is also an RV8 / 14CUX replacement, although in my case it's in a TVR.

1. Forget the fuel temp you don't really need it. More to the point speeduino doesn't support it as a standalone sensor anyway. You do need IAT and a sensible compensation curve.
2. You already know what DFCO is. Look at the DFCO settings in your tune!
3. For high idle you want 'idle up' settings, but you may find they don't work very well to handle the load. The problem with them is that they come too late, since something like an aircon signal comes on at the moment the aircon is enabled, thus the load is already high. You'll be better off running a timing trough in your map to increase torque as RPM drops during idle, or using the ignition based idle control feature.
4. The idle stepper can be configured either in open loop or closed loop mode. In open loop you specify stepper positions versus coolant temperature. I closed loop you specify RPM targets. Look in the tune it's all there and pretty obvious. You will need to establish appropriate stepper limits. I can help you with a process for this when you get that far. I have not had any luck with closed loop stepper control personally. It seems to lose control easily and may be due to steps getting out of sync as the stepper is not a feedback based device, so I run open loop stepper control. Note that unlike the 14CUX, Speeduino does not open the stepper a little more when not in idle mode. On a manual trans that means you get a largish rev drop when the clutch is pressed.
5. Clutch switch I have no experience but I thought I'd point out you'll need some method for driving the auto box if you're not going to change it. Dunno if you can use the existing stuff but I assume you have it covered.
6. The ULN is not a resistor, it's a Darlington array that enables higher current devices to be controlled. You may not need it depending on what functions you need. I control the fuel pump with an unused output (I think it was BOOST I used; can't quite remember).
7. The purge valve could theoretically be controlled by the VVT output but it won't really give correct operation that way. In the 14CUX implementation the valve is pulsed under certain conditions (a certain amount of throttle and some time constraints etc). Most people with aftermarket ECU's just disconnect it and ensure the tank is properly vented to atmosphere via a filter. I have written a purge valve module for Speedy that does something similar to the 14CUX but I never got around to testing it on the car as I needed to make some changes to a PCB to implement it.
8. For the hall effect sensor on the crank, I used a BMW one that is used on many of their models. If you search the forum for Chimaera you should find my thread that lists all of the parts I used. You will need to chop the plug off and replace it with something else unless you want to spend an unreasonable amount of money on the mating connector (if you can find one).
User avatar
By Razorbeam
#50377
ric355 wrote: Sun May 16, 2021 9:49 pm My project is also an RV8 / 14CUX replacement, although in my case it's in a TVR.

1. Forget the fuel temp you don't really need it. More to the point speeduino doesn't support it as a standalone sensor anyway. You do need IAT and a sensible compensation curve.
2. You already know what DFCO is. Look at the DFCO settings in your tune!
3. For high idle you want 'idle up' settings, but you may find they don't work very well to handle the load. The problem with them is that they come too late, since something like an aircon signal comes on at the moment the aircon is enabled, thus the load is already high. You'll be better off running a timing trough in your map to increase torque as RPM drops during idle, or using the ignition based idle control feature.
4. The idle stepper can be configured either in open loop or closed loop mode. In open loop you specify stepper positions versus coolant temperature. I closed loop you specify RPM targets. Look in the tune it's all there and pretty obvious. You will need to establish appropriate stepper limits. I can help you with a process for this when you get that far. I have not had any luck with closed loop stepper control personally. It seems to lose control easily and may be due to steps getting out of sync as the stepper is not a feedback based device, so I run open loop stepper control. Note that unlike the 14CUX, Speeduino does not open the stepper a little more when not in idle mode. On a manual trans that means you get a largish rev drop when the clutch is pressed.
5. Clutch switch I have no experience but I thought I'd point out you'll need some method for driving the auto box if you're not going to change it. Dunno if you can use the existing stuff but I assume you have it covered.
6. The ULN is not a resistor, it's a Darlington array that enables higher current devices to be controlled. You may not need it depending on what functions you need. I control the fuel pump with an unused output (I think it was BOOST I used; can't quite remember).
7. The purge valve could theoretically be controlled by the VVT output but it won't really give correct operation that way. In the 14CUX implementation the valve is pulsed under certain conditions (a certain amount of throttle and some time constraints etc). Most people with aftermarket ECU's just disconnect it and ensure the tank is properly vented to atmosphere via a filter. I have written a purge valve module for Speedy that does something similar to the 14CUX but I never got around to testing it on the car as I needed to make some changes to a PCB to implement it.
8. For the hall effect sensor on the crank, I used a BMW one that is used on many of their models. If you search the forum for Chimaera you should find my thread that lists all of the parts I used. You will need to chop the plug off and replace it with something else unless you want to spend an unreasonable amount of money on the mating connector (if you can find one).

Thank you for your detailed response. I checked out your build write up and it was very helpful!
5. The ZF 4HP22 autobox is not electronically controlled, so I don't think I need to do anything with the trans.
6. So, the pins for the unused output on the 40 IDC connector are already pulled up sufficiently to drive a relay? Forgive my ignorance, but I'm trying to learn this stuff as I go.
8. Thanks for the tip on the crank sensor. I found one on ebay for $16!
By ric355
#50387
Razorbeam wrote: Sun May 16, 2021 11:11 pm 6. So, the pins for the unused output on the 40 IDC connector are already pulled up sufficiently to drive a relay? Forgive my ignorance, but I'm trying to learn this stuff as I go.
You can use the 'medium current' outputs to control a relay (by reassigning one of those pins to another function such as Fuel Pump). See the wiki. On a 0.4 board, these are boost, VVT, idle1 and idle2 (IDC pins 35-38). Note that when reassigning these in TS you must select the *arduino* pin number. On your RV8 all four of these will be free.

You can't randomly control a relay e.g. the main power relay with these; you can only reassign existing functions to these pins instead of having to install the ULN.
By rrcflip
#50413
hi!

I rekon I won't add nothing that helps to the thread: i'm still learning and doing a lot of mistakes!
but I also converted a 14cux Range rover classic to speeduino and all i can say is that it is a game changing experience!

Much licke Rick i had no luck with stepper and closed loop idle, and i solved it using a pwm valve instead. a lot more ugly but also more efficient in my install.

even if i planned to add an imput for vss i currently not running it and i sincerely don't feel is necessary too.

hope you the best with your project! i'm really happy to see i'm not the only one with a RRC and speeduino anymore !! :)
User avatar
By Razorbeam
#50566
I finally received my trigger wheel and mounting bracket after being stuck in customs for 2 weeks. I'm making a plan to get the wheel installed and crank sensor installed this weekend.

I found these pictures on the trigger-wheels.com website of the trigger wheel mounted on the crank pulley. In these pictures, they've used a bent piece of diamond plate instead of the fabricated mount they sell. I'm planning on mounting my crank trigger in this location as well. These two bolts are part of the timing cover on the front of the engine.
VRTriggerwheelFromBelow_resize.jpg
VRTriggerwheelFromBelow_resize.jpg (23.5 KiB) Viewed 5568 times
VRTriggerwheelFromAbove_resize.jpg
VRTriggerwheelFromAbove_resize.jpg (21.17 KiB) Viewed 5568 times



Here is my plan to get the trigger wheel and sensor installed. Please let me know if you see any flaws in this:

1. Set the engine to TDC by the timing mark, then verify actual TDC by removing #1 plug
2. Remove timing chain bolts, set up sensor mount and sensor, mark where sensor reads on pulley
3. Remove fan shroud and fan (not sure if this is necessary)
4. Keeping belts on, use an impact gun to spin off the crank pulley bolt, remove A/C, fan, and power steering belts
5. Install trigger wheel to rear of pulley using existing bolts. Align missing tooth with mark from step #2
6. Measure degrees from TDC mark to the leading edge of the missing tooth
7. Reinstall crank pulley (keyed) using a long metal bar wedged into the pressure plate through the inspection cover on the transmission to keep the engine from turning.

A few questions:
1. This trigger wheel is steel, should I paint it or coat it with anything to keep it from rusting? Oil maybe?
2. How large of an air gap should I allow for between the hall effect sensor and the trigger wheel?
3. (specific to the RV8) Will I need to drain the oil before I remove the timing cover bolts or crank pulley bolt?
4. (specific to the RV8) Do I need longer bolts on the crank pulley or will the existing ones be long enough?
5. I have an extra distributor which I've taken apart to use for a dummy to drive the oil pump. Is there any benefit to fitting a half-moon type cam sensor? I don't think it would make a difference because of batch fire/wasted spark configuration but thought I would ask. It wouldn't be too much effort to do if it was worth it.
6. To calculate the degrees ATDC that I would use in Tuner Studio, does this crude drawing I made in MS paint make sense? This is how I understand it but I've never done this before.
Untitled.png
Untitled.png (8.42 KiB) Viewed 5568 times

Appreciate everyone's input and help as I'm learning this stuff.
User avatar
By PSIG
#50571
Let me hack this up a bit, as it's easier than repetitive quoting. My words are in GREEN:

1. Set the engine to TDC by the timing mark, then verify actual TDC by removing #1 plug
This is actually the last step before setting Trigger Angle. When you get to that point later — if your marks are accurate, simply align your pointer with the TDC mark in order to set the engine at TDC. If you are not sure they are accurate, use a piston stop through the #1 spark plug hole, or other accepted method of accurately placing TDC marks. If you are also using a cycle sensor (cam), then also set at TDC of #1 cylinder on the compression stroke.
2. Remove timing chain bolts, set up sensor mount and sensor, mark where sensor reads on pulley
3. Remove fan shroud and fan (not sure if this is necessary)
4. Keeping belts on, use an impact gun to spin off the crank pulley bolt, remove A/C, fan, and power steering belts

5. Install trigger wheel to rear of pulley using existing bolts. Align missing tooth with mark from step #2
Just mount the trigger wheel, aligning anywhere you like. The missing tooth position is not a concern.
6. Measure degrees from TDC mark to the leading edge of the missing tooth
NO! Once the engine is set at TDC, the two relevant points are the sensor location and the first tooth after the gap (in normal rotation direction).
7. Reinstall crank pulley (keyed) using a long metal bar wedged into the pressure plate through the inspection cover on the transmission to keep the engine from turning.

This all presumes a missing-tooth trigger wheel, with or without a cam sensor. Other wheels or decoders require different setup. The bottom-line is to mount your wheel however you like or can. The Trigger Angle setting allows the missing tooth or other reference to be placed anywhere.

. . .

6. To calculate the degrees ATDC that I would use in Tuner Studio, does this crude drawing I made in MS paint make sense? This is how I understand it but I've never done this before.
NO. Not trying to be harsh, but wanting to be clear. Again, the TDC pointer position has no relevance once the engine is set at TDC. Only the degrees between the sensor and the 1st tooth after the gap are relevant. You could use a protractor from the 1st tooth after the gap to the sensor, for example. There are many ways to describe it, and this is a common one:
  1. Set the engine to TDC #1. If for sequential, set for TDC #1 compression stroke.
  2. Turn the crank in the normal direction of rotation, until the 1st tooth after the missing tooth aligns with the sensor.
  3. The number of degrees the crank turned is your Trigger Angle.
If you are following, you can see that your drawing is close, but should reference the sensor to the 1st tooth after the gap, not TDC.

Also note that different sensors, wheels and other factors mean the trigger point is rarely ever exactly at one edge or the other. This means the initial Trigger Angle setting is only approximate. You must use a timing light in order to verify the exact correct Trigger Angle under operation, if your timing is to be accurate.
User avatar
By Razorbeam
#50575
PSIG wrote: Wed May 26, 2021 9:24 pm Let me hack this up a bit, as it's easier than repetitive quoting. My words are in GREEN:

1. Set the engine to TDC by the timing mark, then verify actual TDC by removing #1 plug
This is actually the last step before setting Trigger Angle. When you get to that point later — if your marks are accurate, simply align your pointer with the TDC mark in order to set the engine at TDC. If you are not sure they are accurate, use a piston stop through the #1 spark plug hole, or other accepted method of accurately placing TDC marks. If you are also using a cycle sensor (cam), then also set at TDC of #1 cylinder on the compression stroke.
2. Remove timing chain bolts, set up sensor mount and sensor, mark where sensor reads on pulley
3. Remove fan shroud and fan (not sure if this is necessary)
4. Keeping belts on, use an impact gun to spin off the crank pulley bolt, remove A/C, fan, and power steering belts

5. Install trigger wheel to rear of pulley using existing bolts. Align missing tooth with mark from step #2
Just mount the trigger wheel, aligning anywhere you like. The missing tooth position is not a concern.
6. Measure degrees from TDC mark to the leading edge of the missing tooth
NO! Once the engine is set at TDC, the two relevant points are the sensor location and the first tooth after the gap (in normal rotation direction).
7. Reinstall crank pulley (keyed) using a long metal bar wedged into the pressure plate through the inspection cover on the transmission to keep the engine from turning.

This all presumes a missing-tooth trigger wheel, with or without a cam sensor. Other wheels or decoders require different setup. The bottom-line is to mount your wheel however you like or can. The Trigger Angle setting allows the missing tooth or other reference to be placed anywhere.

. . .

6. To calculate the degrees ATDC that I would use in Tuner Studio, does this crude drawing I made in MS paint make sense? This is how I understand it but I've never done this before.
NO. Not trying to be harsh, but wanting to be clear. Again, the TDC pointer position has no relevance once the engine is set at TDC. Only the degrees between the sensor and the 1st tooth after the gap are relevant. You could use a protractor from the 1st tooth after the gap to the sensor, for example. There are many ways to describe it, and this is a common one:
  1. Set the engine to TDC #1. If for sequential, set for TDC #1 compression stroke.
  2. Turn the crank in the normal direction of rotation, until the 1st tooth after the missing tooth aligns with the sensor.
  3. The number of degrees the crank turned is your Trigger Angle.
If you are following, you can see that your drawing is close, but should reference the sensor to the 1st tooth after the gap, not TDC.

Also note that different sensors, wheels and other factors mean the trigger point is rarely ever exactly at one edge or the other. This means the initial Trigger Angle setting is only approximate. You must use a timing light in order to verify the exact correct Trigger Angle under operation, if your timing is to be accurate.

Thank you for explaining this clearly. It makes sense now that the TDC mark is meaningless. All that matters is the distance between the sensor and missing tooth measured in degrees.

Will this have an updated version about this featu[…]

See my earlier post . The Base Tune sets t[…]

Vr Conditioner Noise when cranking

I did the fix, but it's not work. I put my setti[…]

Perhaps some different points and pictures. Instr[…]

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