Building a homebrew diesel ECU

arduino-diesel-ecu

Over the years automobile engines have become increasingly complex, and with this added complexity comes an increased reliance on intricate computer systems to run them. These control systems are typically the fruit of many hours of research and development, carefully protected by the auto makers who create them. Instead of relying on a closed system to power his car, a Finnish hacker that goes by the name [synkooppi] has decided to do away with his diesel engine’s ECU altogether and build one of his own with little more than an Arduino.

As you can see from his web site, [synkooppi] has created his DIY ECU using an Arduino Mega, which is capable of controlling diesel engines that employ a Bosch VP37 or other inline diesel pump. So far he has all of the basic workings in place, which allow him to run and control an Audi diesel motor.

While many details about his homebrew ECU are hard to come by, he does have a series of development videos posted on YouTube which should help satiate inquisitive minds. For those of you with a spare diesel motor laying around, [synkooppi] has made the first release of his code available to try out.

Stick around to see a video of the ECU in action.

[Thanks, perhof]

Comments

  1. Jay says:

    The Finns do amazing stuff with diesels, particularly Mercedes. Why this is so popular in Finland?

    I’d like to add a little bit more power to my OM606, but Finnish aftermarket parts are pretty expensive.

  2. Tim says:

    Wow, that engine sounds awesome. Its smooth even for a gasoline engine!

  3. Alexander says:

    That is awesome! A big step forward for disel bike builders as well as they cant use engines from small cars due to ecu limitations. If something similar could be made for CDI engines that would be great.

    • bhtooefr says:

      Common rail and pumpe duese are harder to do (although I’m not who did this project, and I may be glossing over some things, not having actually done any of this before).

      The VP37 pump is a rather primitive device, dating back to 1960. It uses cam plates, plungers, and valves to control the flow of fuel to each injector. The injectors for a VP37 system are also primitive, using spring pressure (two-stages since the mid 1980s, but still) to hold back the flow of fuel until a certain pressure is reached, at which point they pop open.

      The VM, VA, VE, and VP3x family has a fuel quantity rack, that controls the duration of injection, and a timing device (the earlier ones might not have this), that can advance or retard injection (I believe in a range of 18 degrees).

      On the VM, VA, and VE pumps, springs and weights control the fuel rack, in addition to a throttle cable. This effectively sets the rev limit and the idle. This was effective, although it provided poor emissions control, and couldn’t add fuel in response to turbo boost. So, the solution was to add a vacuum or pressure actuated device to either add fuel under boost, or on non-turbo engines, remove fuel in lower atmospheric pressure.

      The VP34 and VP37 instead have a computer driving the fuel rack and timing device, allowing much more control over fueling. But, it’s still indirect control – the ECU looks at how much air is going in, it looks at how the engine is rotating, and it injects. Then, a needle lift sensor in the injector tells the computer when start of injection occurred, so it knows how to twiddle the timing device. And, on some of the newer VP34 and VP37 engines, the ECU can at low RPM detect each combustion event through the crankshaft position sensor, and quickly adjust the quantity adjuster to keep the engine running smoothly.

      This does, however, mean that the pump is still doing quite a lot for you – you’re setting quantity and timing, basically.

      Common rail and pumpe duese use a solenoid or piezo injector. Computer wants fuel, computer energizes the injector, computer gets fuel. Direct control. You control the injection events directly.

      The difference between CR and PD is that CR always has pressure, whereas PD gets pressure generation off of the camshaft, so it can only inject in a certain window. However, that’s usually only relevant for post-injection, which is an emissions-related feature.

      • Alexander says:

        I know the main differences between common rail and older diesel engine designs. In addition to controlling the injected amounts you would also have to regulate the rail pressure etc amongst other things. Post injection is also useful for making combustion quieter. IT would be cool to make a universal control system for common rails though :)

      • Alexander says:

        If you look at my site fotifixes.com, you will see what I mean.

      • bhtooefr says:

        Alexander: I was partially responding that verbosely to target the HaD audience, that may not be fully familiar with the technologies in question.

        There are already aftermarket ECUs that are set up for either solenoid or piezo CR, for racing applications, so I wouldn’t be surprised if it’s possible to make a generic one for most solenoid and one for most piezo applications. This would also work for PD, too.

        In any case, it’s pilot injection, not post-injection, that you want to make things quieter. I’d think post-injection would actually make things louder if there aren’t any exhaust traps to regenerate, the only purpose for it that I’m aware of.

      • Alexander says:

        Ahh apologies, that aspect of it went straight over my head, lots of good info there

      • Alexander says:

        And yes, I meant pilot injection, not many people would want to implement a DPF in an aftermarket ecu :)

  4. majordump says:

    I think I would have started with a MegaSquirt 3 (MC9S12XEP100 processor) than start from scratch with an Ardunio Mega. At the very least I’d have waited for the Ardunio Due so I’d have a lot more to play with.

  5. one says:

    My old Audi with the 1.6L VW diesel engine (reused in a lot of new cars) was purely mechanical. The only remotely electrical thing was a solenoid that kept the fuel line open. Upon removing the contact the engine was deprived of fuel and stopped naturally.
    Of course those things failed sometimes and you had to stop the car by putting it into gear and braking; or parking really close to a wall if the brakes were too weak.
    Probably one of the few engines able to run after a nuclear disaster. Add that to the fact that it is able to run on almost any kind of oil and provides decent horsepower and you have part of your mad max survival kit.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 97,790 other followers