Category Archives: Arduino ECU

This project was undertaken as the final project and dissertation for my MSc in Automotive Electronic Engineering. The projected aimed to develop a simple engine control unit for a single cylinder port injected 4-stroke gasoline engine. The ECU has been developed on an Arduino Mega board and the project primarily focuses on the software rather than the electronic interfaces.

The code is available to view and download here

Arduino Engine Control Unit and Stellaris Launchpad LM4F120 Engine Simulator

The ECU which I am developing is an embedded real time system which is designed to control a single cylinder spark ignition fuel injected gasoline engine. There are a number of ways to approach developing this type of system, and a mixture of these are likely used in industry

  • Develop code on the embedded device and continuously test on the engine¬†
  • Develop code all in one go on the embedded device and perform a final test on the engine (you would have to be pretty confident in your code for this to be worthwhile)
  • Create an engine simulator in software on a PC and write your ECU software on the PC to control it, then program the ECU to an embedded device to test on a real engine
  • Develop model based code in software like Matlab Simulink, build an engine simulator and ECU separately in the software, then program it to a ‘target’ to run on an embedded device
  • Develop an engine simulator ¬†on an embedded device and develop the ECU on an embedded device to control it

I’m going with the last option. Continue reading

Engine Control Unit Project

I am currently studying an MSc in Automotive Electronic Engineering, and am now beginning to work on my final project. The main goal of the project is to build an engine control unit. I’m now at the prototyping stage where I just want to get something working to that I can make sure that everything is possible. I’m hoping to eventually get to a stage where I use an in cylinder pressure transducer to infer the air to fuel ratio of the engine and use this instead of a lambda sensor as an input to my ECU to control my fuel injection. Continue reading