russian New Reader
Feb. 19, 2014 7:38 p.m.

DIY as in real Do-It-Yourself from scratch.

I am racing a crapcan Ford Festiva, it used to be 1.3 but we have swapped a 1.8 into it. We are kinda doing fine as is, but for total domination we need a turbo. And a proper turbo build asks for an aftermarket engine control unit. Thing is, in the crapcan series you are supposed to be on budget, so commercial ECU is out of the question. I've checked what open source DIY options are around and they are "kinda blah", and since I am a software developer anyway I've decided to make my own engine control from scratch.

Here is a pic of the crapcan - there was a major bodywork upgrade since but this picture works better for the spirit of GRM :)

ssswitch New Reader
Feb. 19, 2014 7:43 p.m.

What hardware platform are you basing this on? I heard someone was trying to get an Arduino to run a Miata which seems like it'd be an interesting if constrained choice. I'm not sure if they're really built for the vibration/heat environment of a car either.

Either way it's a project I've wanted to do for awhile too, but I only have software skills and no EE skills so I'd probably spend most of my time figuring out how relays work and worrying about fire.

russian New Reader
Feb. 19, 2014 7:43 p.m.

Anyway, back to the ECU.

Arduino is a popular DIY platform but I've chosen stm32f4 because it's 168MHz with floating point unit for around $12 - that's a cheap and powerful chip. It's also available as part of a handy stm32f4discovery evaluation board which works great for my prototyping.

Couple of guys have helped me with the electronics and as of today I actually have a running prototype - it's ugly as hell, but it's a standalone engine control unit for under $100 in parts.

Here it is - it's actually called rusEfi:

I've mentioned the name because this project has a website - http://rusefi.com/ - but anyway, I will track my progress here.

russian New Reader
Feb. 19, 2014 7:50 p.m.

This board sure looks scary, but it does the job: it controls a 4 cylinder engine in sequential mode. Here's a proof: http://www.youtube.com/watch?v=M-qqHQ-quFg

This board sure looks scary, so now we have a better revision - it's again just a prototype, but you would see some progress between what we have now and what we are hoping to get from China maybe within a couple of weeks:

This board is still a 'shield', meaning it requires stm32f4discovery board for the main brain board. This is on the edge of evaluation license, so we are now finishing our own brain board, too:

That's the current state of rusEfi ECU. I am pretty excited about this project, I sure do not have the problem of free time anymore and probably would not have this problem for the next couple of years

ssswitch New Reader
Feb. 19, 2014 7:58 p.m.

I went for a poke through the source code - it's pretty modular and I like that you can register callbacks for the crank position sensor events which should keep things clean.

Not sure why the Audi AAN engine def says that it has only 4 cylinders though but it looks like a bunch of those files are stubs anyway so I'll just chalk it up to that.

Way cool! I think I'll learn more about EFI from reading your code than I ever did at many attempts to throw myself into the MegaManual.

russian New Reader
Feb. 19, 2014 8:05 p.m.

In reply to ssswitch:

Back in Soviet Russia, they cut the fifth cylinder away to stay in line with the party line...

WOW, you got to the code pretty fast! What did your say your software skills were, because we can use a developer or two. Or three :)

fujioko Reader
Feb. 20, 2014 6:22 a.m.

This is awesome!

I noticed you were using an Aspire as a test vehicle. Are you using the secondary chopper wheel in the distributor for the sequential?

I megasquirted a Festiva engine about a year ago. I still haven't solved the cold start (below 20F) issue. It takes forever to start the engine.

russian New Reader
Feb. 20, 2014 6:25 a.m.

Yes :) Yes, this is not ready for the racing Festiva yet.

Yes, I use both wheels in the dizzy. Technically I suspect Aspire also has a crankshaft position sensor unlike the Festiva? I need to look into that one day.

Same here - I still haven't solved the cold start issue :( I've decided to wait for two weeks and solve it next year :)

fujioko Reader
Feb. 20, 2014 7:20 a.m.

The Festiva injectors batch fire while the Aspire uses the rudimentary crank position sensor for sequential.

I'm not an EFI expert but the Apsire crank sensor is sort of unique and I'm not aware of of anything else like it.

From what I have read, the benefits of sequential are seen under lighter loads and slower engine speed. For racing, batch fire may be the simple answer.

Last fall I built a wasted spark ignition for an Aspire. I used an early model Miata CAS and had to add an additional sensor to keep the sequential happy. Overall the project worked out great but it was too much effort for an Aspire.

GameboyRMH MegaDork
Feb. 20, 2014 7:50 a.m.

Wow very impressive! I'll be watching this.

russian New Reader
Feb. 24, 2014 6:30 p.m.
russian New Reader
Feb. 26, 2014 9:28 p.m.

https://www.youtube.com/watch?v=lCAD1xQHs3o

alfadriver PowerDork
Feb. 27, 2014 6:57 a.m.

For the colder temps, can I suggest that you change your injection mode a little?

While SEFI inejction can be used really well for nominal cranking, couple of problems happen as it gets colder. first the colder engine means slower cranking- which means that the sensors that detect movement don't work as effectively. Since you are probably taking data at a high rate during crank, I'm sure you may already know that by now.

But what's more is that it takes a whole lot more fuel to start a cold engine- mostly due to the crappy evaporation of the fuel at that cold temp. So instead of doing SEFI, I would suggest starting with batch firing, and then transition to SEFI after the engine is running. On that note, I would even suggest running all of the injectors on each cyl's cycle a little bit- that will build up the fuel little by little ( or alot by a lot) and get it to fire.

moparman76_69 SuperDork
Feb. 27, 2014 7:17 a.m.

so is this a full ems or just efi?

GameboyRMH MegaDork
Feb. 27, 2014 8:47 a.m.
alfadriver wrote: For the colder temps, can I suggest that you change your injection mode a little? While SEFI inejction can be used really well for nominal cranking, couple of problems happen as it gets colder. first the colder engine means slower cranking- which means that the sensors that detect movement don't work as effectively. Since you are probably taking data at a high rate during crank, I'm sure you may already know that by now. But what's more is that it takes a whole lot more fuel to start a cold engine- mostly due to the crappy evaporation of the fuel at that cold temp. So instead of doing SEFI, I would suggest starting with batch firing, and then transition to SEFI after the engine is running. On that note, I would even suggest running all of the injectors on each cyl's cycle a little bit- that will build up the fuel little by little ( or alot by a lot) and get it to fire.

Sounds like setting the engine to only use sequential injection above a certain temp (maybe 1/2 way to full op. temp?) would be a good fix.

alfadriver PowerDork
Feb. 27, 2014 9:41 a.m.

In reply to GameboyRMH:

It would- but you can go full SEFI at 40F. that's when the fuel's are change from winter to summer, and where you see the biggest change in cold fuel properties.

For you, you can run SEFI all the time, unless you are planning on parking your car in a refridgerator....

GameboyRMH MegaDork
Feb. 27, 2014 9:46 a.m.

40F intake temp or coolant temp? Should you run batch mode always below a certain intake temp?

alfadriver PowerDork
Feb. 27, 2014 9:51 a.m.

In reply to GameboyRMH:

Coolant- it's much closer to the fuel temp, and has much more a bearing of what happens in the intake for the fuel than the intake air does.

Really- you only need to batch file the cranking fuel, and transition immediately to sequential- it's more about delivering enough fuel to get it to fire the first time- which takes a lot of fuel. After that, it's not a big deal.

russian New Reader
Feb. 27, 2014 1:52 p.m.

In reply to alfadriver:

What you are describing is exactly the logic of my OEM ECU uses - it is running all the injectors on each cyl's cycle while cranking (something like below 550RPM), and then it switches to SEFI. And that's exactly the logic I've implemented :)

russian New Reader
Feb. 27, 2014 1:54 p.m.

In reply to moparman76_69:

That's a full standalone EMS. Too late to change the name though.

alfadriver PowerDork
Feb. 27, 2014 2:16 p.m.
russian wrote: In reply to alfadriver: What you are describing is exactly the logic of my OEM ECU uses - it is running all the injectors on each cyl's cycle while cranking (something like below 550RPM), and then it switches to SEFI. And that's exactly the logic I've implemented :)

So you are injecting fuel every cycle or once per rev?

We've found that once for each cyl's cycle, the fuel will puddle up reliably to start reasonably quickly at colder temps.

If it eventually starts, then add more fuel. If it never starts, then take some out.

Oh, one more trick- since you are writing your own code- add in the feature that if you go wide open throttle that it turns the fuel off during crank. That way you can do a clean out if you need to.

Only for crank.

russian New Reader
Feb. 27, 2014 2:27 p.m.

In reply to alfadriver:

Cranking - four squirts per camshaft revolution. Running - one squirt per camshaft revolution.

About the WOT cranking trick - that's interesting! Another trick I was once told is to pre-inject some fuel into the cylinders before cranking if the temperature is really low, I can add a curve so that the duration of that pre-injection depends on the CLT reading.

alfadriver PowerDork
Feb. 27, 2014 2:31 p.m.
russian wrote: In reply to alfadriver: Cranking - four squirts per camshaft revolution. Running - one squirt per camshaft revolution. About the WOT cranking trick - that's interesting! Another trick I was once told is to pre-inject some fuel into the cylinders before cranking if the temperature is really low, I can add a curve so that the duration of that pre-injection depends on the CLT reading.

I'm not a big fan of injecting fuel on a non moving engine. It's an easy mistake away from hydrolocking on crank. Most injectors are not big enough to make that happen even if they are full on during craking- so just fuelling when the engine is spinning is a whole lot safer.

The WOT trick is an old carb trick that all OEM's use for fuel injection.

In terms of your trickling of fuel- if you are a 4 cyl, that should be 4 pulses per cycle, which is 720 degrees, or 2 pulses per rev. That way the timing is the same as you would during sefi, just all injectors instead of 1.

russian New Reader
Feb. 27, 2014 2:31 p.m.

I've actually created two tickets so that these suggestions are not forgotten: https://sourceforge.net/p/rusefi/tickets/51/ https://sourceforge.net/p/rusefi/tickets/52/

tpwalsh Reader
Feb. 27, 2014 2:46 p.m.

The WOT== Flood Clear trick is an OLD one in the megasquirt world. Props for starting from scratch, it's seriously impressive. But why competely reengineer from scratch, when even a MS1 on a custom board would save hundreds of hours and fit in budget? http://www.diyautotune.com/catalog/cpu-megasquirti-cpu-p-105.html

Also, how are you valuing this whole project in the crapcan world? This seems to me like it screams for penalty laps.

1 2 3 4 5 6

You'll need to log in to post.

Also on Grassroots Motorsports

From the GRM Vault: The Art of Understatement

1 day ago in Articles

The Harvey brothers dominated autocross in an obsolete Datsun a couple decades ago.

2017 Volkswagen Golf TSI SE

1 day ago in New Car Reviews

The quintessential European hatchback continues to pour out of Volkswagen's plants. Our test car featured four doors, a turbocharged 4-cylinder ...

Join the Grassroots Motorsports Dyno Day

2 days ago in News

Join us for a dyno day in Sterling, Virginia.

We're Giving Away a $500 Race Ramps Certificate

2 days ago in News

Joining the drawing is totally free.

25 Project Path

3 days ago in Articles

A walk through 25 of our favorite project cars from the past.

Our Turbo Miata Goes Boom

3 days ago in Project Cars

Engine swap and suspension revamp before our race in two weeks? Challenge accepted.

The Ultimate Weekend Getaway for Your Car Club

4 days ago in News

Save a corral space just for your club at the Mitty.

Reader's Ride of the Week: V8 Jag

4 days ago in News

It’s a long-wheelbase 1974 Jaguar XJ6 fitted with a 350-cubic-inch Chevy V8.

Honing Cylinders

4 days ago in Project Cars

We hone our LS1's cylinders

Break Maiden

1 week ago in Articles

Creating a turbocharged road racing champion from a vintage Ford Mustang.

Meet Us at Sebring

1 week ago in News

We'll be at the Mobil 1 Twelve Hours of Sebring. Will you?

2017 Honda Accord Coupe Touring

1 week ago in New Car Reviews

Honda has been pumping out Accords for over 40 years now. Obviously they have a recipe that just plain works. ...

OUR SPONSORS

Grassroots Motorsports Magazine

Subscribe Today

Also get your instant access to the digital edition of Grassroots Motorsports Magazine!

Learn More
q7be4faQSYOzxmE1GJ4imvzQ6fl0teJx