Speeduino is now on Github Sponsors (Rather than Patreon): https://github.com/sponsors/noisymime
Help with building your Speeduino, installing it, getting it to run etc.
By twobarboost
Hi all.

I've recenlty been playing around with Honda B-series motors... which is fun because their trigger system is noisy and i enjoy a challenge.

On the side i've been toying with fitting a speeduino 0.4 to a Honda D16y4 for a mate.

There have always been rumours that the Australian delivered D16y4 was unique in the sense that Honda put THE MOST BASIC of EFI systems on the engine!

Upon further investigation it appears to be the truth! The only form of triggering on the australian version is a 4 slot optical wheel on the camshaft.

The spark is dirstributed (by the distributor) and it appears that the ditributor gives 4 pulses per camshaft rotation. Based on RPM, intake air temps and load the ecu just controls timing by delaying or advancing the signal to the igniter (also inside the distributor along with the coil)
As a coil-on-plug kinda guy... It's not my cup of tea.. but I guess i works and there are plenty of D16y4's on Australian roads to prove it.

This is nothing like the B-series which have 3 trigger patterns on the same distributor shaft... anyway.. i digress

This ignition configuration should be easy to deal with on speeduino as I have nice square wave signals to trigger off.

This leads me onto the FUEL system:
The Australian D16y4 has "paired batch" injection... injectors 1 and 3 share a channel (and wires)... injectors 2 and 4 share a channel and wires..

My goal is to maintain the existing wiring right up to the OEM ECU plug...
Do you know if the Speeduino can handle this configuration? Could I run 2 injectors off one injector channel or would I likely overload the transistors?

If that's not an option Could I just link all the injector channels and run full batch on all 4 at once? (crude i know but it's not as though it hasnt been done on older cars)

Also, as i'm unfamiliar with batch injection as a whole... How does the ECU know when to fire the injectors? It's not like it's sequential with a "sync" signal... Does it just fire the injectors an evenly spaced amount based on the RPM signal?

I can't get my head around how it does the math wihtout a "Sync" signal...

I'd be happy with a basic solution to get the engine idling... then move on from there.

Your help on this matter would be appreciated. Mainly in how I would configure the Speeduino's settings to give me best chance of a first "fire up"

Cheers and thanks in advance!

User avatar
By Chris Wolfson
Hi John,
even as I`m in Germany and don´t know your local cars and spare part market, maybe I can help.

The ECU injects the fuel on every revolution once. Normally on an inline 4 cylinder engine, injectors 1 & 4 and 2 & 3 are opening together.
That way one squirt goes into the open inlet valve and one hits a closed one, giving the fuel time to evaporate.
This concept works on any engine and even many fully sequential injections use it in some load conditions.

There are even simpler ones, you seem to have one on the Honda, that switch all 4 (6, 8 or 12) injectors at the same time. If you think of carbs, the mixture has times when it rests in front of a closed valve, too! Inlet manifolds often are heated by water or even an electric device to help the fuel to evaporate. Not really needed in Australia, I suppose.
The strikter emission control became, the more injection moved to per cylinder control.
For best performance you are fine with the one squirt per engine revolution on paired injectors.

I would prefer to drive any injector separate on a 4 cylinder, but only to divide the load between the 4 drivers the Speeduino has build in anyway. It is made to drive two injectors in parallel. So you can keep the loom.

Ignition does not need a cam signal, as you have a distributor to take care for the right distribution :D . All what Speedoino does is to supply 2 signals for the coil driver per revolution.

Best is to read the MegaSquirt manual for identifying the ignition driver in the distributor, as there are some that manage dwell internally (like GM HEI) and others that are just plain transistors (like Bosch) where Speeduino has to do dwell calculation, dependend on the coil.
Hope that helps,
cheers, Chris
User avatar
John, based on Speeduino capabilities, I would suggest paired injectors (stock) fired twice per-cycle (2-squirts). This is a substantial improvement in fuel distribution from single, and creates a "double-shot sequential" function where each cylinder receives the identical injector timing and fuel dwell in the port and on the valve. In-fact, some OEMs are using this today, in order to gain the benefits of both sequential and of fuel dwell.

When timed this way, each cylinder receives two injections, both at TDC, 360° apart. The timing is equivalent to waste-spark ignition, but configurable for exact angle of injection, so both the 1st squirt that is vaporizing and the 2nd squirt into the open valve is maximized for efficiency. Have fun!
User avatar
By Chris Wolfson
If you want this semi sequential process, you need a TDC signal (not confused with a cam trigger!), otherwise it may be 180° out of phase some times.
That is why you use a 36-1 or 60-2 or even 4+1 trigger wheel. The Honda, which John has, seems to have only 4 distributor based signal segments, spaced equally at half crank speed. So the ECU only uses this rpm signal!
Beside from this, the +-180° sequence works well too!

PS the Honda has no signal to tell the Speeduino or any other ECU where the sequence starts. Depends on how the Ecu syncs. BMW uses a Coil around spark wire No. 1 to tell the Ecu where to start. This way they did not have to change anything on the engine, when they moved to semi sequential from batch fueling. Could be used with the Speeduino too, if you design a conditioner cirquit for an inductive pickup on the spark wire. Basically a few turns of wire around the plug wire No. 1, two resistors and two Zener should do.
By twobarboost
Thanks for the replies!!

It appears that if I stick with the trigger wheel that the Aus Spec D16y4 comes with there is no option for me to go semi-sequential. Especially as though my aim is to make this a super easy "plug and play" ecu for others to copy which uses the facory loom.

I'll have a good read through the speeduino manual again... it's been a while.... and configure to suit batch injection.

My question remains though... If there are only 4 evenly spaced optical slots spinning at CAM speed... Does that mean that each time the ECU looks for a signal, in theory... the batch injection could start at a random arbitrary time relative to crank position?

I.E. one day the injectors could be firing at the back of a closed valve, then the next day/start the ecu would be potentially be firing the injectors at an open valve?

Obviously this wouldn't matter because it would be occuring on different cylinders at different times... but in terms of the mathematics and trigger setup...is my logic correct?

If I went 2 squirts per cycle, this wouldn't matter anyway? Correct?

Thanks again...
By theonewithin
Speeduino doesn't have a batch option so you would need to use paired injection.

And you would have to use 2 squirts I believe due to no way to get full 720 degree sync so injectors will fire on back of closed valve anyway.

These things have distributors yeah?

The Speeduino will just use 1 IGN output for it and that's it. It won't have a clue where the engine position is as the trigger wheel doesn't provide the required info.
User avatar
By Chris Wolfson
If you only see the events from the trigger, your Honda is similar to a plain old contact breaker ignition. Distributor turns with half crank speed, giving 2 signals per crank revolution = 4 signals per cam revolution as distributor speed is the same as the cam´s.

If you look at the No. 1 cylinder inlet valve, there are 4 pulses in its full cycle, 90° cam angle apart. As you do not tell Speeduino which of these 4 pulses is which, it can not know when to inject.

If you program for 1 squirt per crank rotation, dependent on which signal the Speedoino startet on (=syncronised with the engine), it may hit the valve in one of these 4 positions: 1. open 2. half closed 3. closed or 4. half open.

If you opt for 2 squirts, you may hit open & closed or 2x half closed.
Off course, cylinder 1&4 and 2&3 will allways get different treatment.

Now, as mentioned above, this is not as bad as it might seem on first sight. Many injection systems work(ed) that way. If you look at Bosch systems, until the first "Motronic" systems, combining ignition and injection came to the market. All older "Jetronic" variants, which had separate ignition systems, worked that way afaik.

Fuel consumption is a bit higher, as you tune "too rich" when in doubt, for engine protection. Engine Power difference is also minimal.
Raw exhaust emissions are worse on HC, but that was no problem 30-40 years ago, as they still competed with carburetors.

Please keep in mind the very simple option to get a "cylinder 1 ignition signal" from an inductive pick up. Such a pick up works similar to many timing lights, where you clip it over the spark wire for 1 cylinder. When it was good enough for Bosch and BMW, this will work for you too. I saw a DIYS solution somewhere, just a few cheap parts.
User avatar
twobarboost wrote:
Wed Jan 20, 2021 7:20 am
… It appears that if I stick with the trigger wheel that the Aus Spec D16y4 comes with there is no option for me to go semi-sequential. Especially as though my aim is to make this a super easy "plug and play" ecu for others to copy which uses the facory loom.
Correct. Changing the trigger wheel is simple if that's an option for you. For example, you can add 3 windows to the current wheel to create an 8-1 wheel for sequential (or semi). Alternatively, a new wheel may be created, and one option is to have them made as PCBs, to a thickness that works with your sensor slot. This way, a simple and inexpensive wheel may be created with as many windows or teeth as reasonable (24-1 or whatever). Going rates are less than $10/10 from typical Asian manufacturers. You will need a CAD design program (or someone with one) in order to create the 2D wheel design for placement in the Gerber files.

There are many other possible cycle signal options, such as adding a sensor to the oil fill cap or cover to read the rocker arm below it, and many other creative methods used here and elsewhere.

The answers to your remaining questions are YES.

To further explore options for even fueling, you could also consider increasing squirts. 4-per-cycle would permit even fueling with the existing distributor, with no out-of-phase fueling. Like any compromise (and every direction is a compromise of some sorts), one is potential rpm limitation due to the added dead times to each cycle. While the solution could simply be to increase fuel pressure, or injector size, or quicker injectors; this may introduce a new problem of low-load PW control. There are solutions for that issue also.

However, these are all potential issues carried with solutions. You don't know what you'll find until you try it, so try it. Deal with any issues as, and if, they actually appear.


PS: If using an inductive pickup on a spark plug terminal or wire, keep in-mind the system must fire the coil for the inductive pickup to read a signal. So, Speeduino must be able to fire a spark without sync, in order to get sync. ;) There are ways to achieve this, if you are using a mode (e.g., Dual Wheel) that may not otherwise permit it.
By twobarboost
Great suggestions. I'm going to stick with trying to make this work as a true plug and play.... I.E. all factory sensors and loom...
I'll see how far I get and change course if I run into problems.

Thanks for your help!

Great, I might buy one now

Simple diagram for 2ch Bosch 200 ignitor

CLT sensor wrong reading

Once again as above. You need to find and fix you[…]

Kawasaki Concours 2.0

Going bonkers trying to wire up a Bosch LSU4.9 to […]

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