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

Little Car Show: Celebrating All Things Quirky and Small

3 hours ago in Articles

As the name suggests, the Little Car Show is all about little cars.

Concours d’Lemons to Ruin Monterey Car Week Yet Again

4 hours ago in News

What started as the anti-concours has transformed into a major event on the Monterey Car Week schedule.

You Need This: A Quite Eye-Catching Green Over Red Ferrari

5 hours ago in News

Not your usual Ferrari color combo.

We're Back In Monterey for Car Week

5 hours ago in News

And so it begins, another trip to Monterey Car Week.

Your Projects: JDM Autozam AZ-1 Kei Car

6 hours ago in News

What are the realities of importing a JDM kei car to the U.S.?

Tonight on Grassroots Motorsports LIVE! Lee Grimes of Koni Shocks

1 day ago in News

This may shock you, but suspension is arguably the most important part of going fast.

Classic Motorsports Monterey Welcome Party Welcomes 2000-Plus Gearheads

1 day ago in Articles

Last night we threw a party, and more than 2000 people came to celebrate.

You Need This: E46-Chassis BMW M3 for $6000!?

2 days ago in News

Could this M3 donate its heart to your next project?

Deal of the Month: Free Trackside Companion!

2 days ago in News

Ever wished you had a handy guide on how to dial in your alignment or adjust your dampers?

This Tuesday: Join Us at Track Night in America

3 days ago in News

This Tuesday we'll be running at Palm Beach International Raceway

Experience Monterey With Us

3 days ago in News

We're on our way out to Monterey, California, for car week.

Tomorrow, August 15: Join our Monterey Kickoff Cruise-In

3 days ago in News

Our Monterey welcome party is taking over all of downtown Pacific Grove.

OUR SPONSORS

Grassroots Motorsports Magazine

Subscribe Today

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

Learn More
2oKaqlSZAecC8kNdVcfozzZRCgrn61f4