Font Size Selector
AAAAA
Header

Technology, old cars, & other stuff...

00:00:00

Saturday 28 January

ECU Source Code

JeT1 Engine Control Unit (ECU) software provides fuel management, ignition timing, cooling fan control for inline 4 cylinder internal combustion engines. The ECU software & hardware was originally developed around the Arduino 2560 microcontroller board but development has now moved on to 32-bit STM32 ARM Cortex based microcontrollers. The first release uses the STM32 NUCLEO G431KB microcontroller board. This provides numerous advantages over the 8-bit Arduino family, including:

  • Much faster CPU speed, reduced latency and increased CPU throughput, allowing much more to be accomplished in less time and more accurate time-based functions.
  • Improved ADC resolution (12-bit vs 10) and much faster conversion time.
  • Many more 16 bit timers, allowing much greater resolution and accuracy in pulse timing and measurement.
  • Much greater RAM capacity.

All this allows improved functionality and more complex processes to be adopted. For example, the first version of the STM32 code (version 3200.04) has a Proportional/Integral Air-Fuel Ratio controller which provides far greater accuracy and real-time control of the air-fuel ratio.

The STM32 source code is developed in the CubeMX IDE in 'C'. The code, plus configuation guide and Windows desktop / laptop application are available below. Hardware documentation can be found here but note that the ECU main board needs modifications to operate at 3.3V - further documentation will be provided on this later.

Date ECU Version ECU Code Documentation Windows App Remarks
May 2020 3200.067

source code

Config Guide

Application Interface

source code

 

Note "Limitations" section in the configuration guide.

 

The original Arduino Mega 2560 microcontroller software is here:

Date ECU Version ECU Code Documentation Windows App Remarks
June 2019 0.8

source code

See notes below.

Config Guide

Application Interface

source code

sample config files

Final version, no longer being developed.

Notes (known issues):

  1. In file "free_memory/free_memory.h" missing "extern" in declaration. Line 10 should be:
  2. extern int freeMemory();

 

The software/firmware source code or executable program developed by Just Technology (NW) Ltd is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The license is available at https://www.gnu.org/licenses/gpl-3.0.html

The software/firmware source code or executable program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

Privacy Notice

The elements of this website developed by Just Technology uses cookies to store user settings such as the requested font-size to enhance the usability of the site. For reqistered users, cookies are also used to identify the user's logged-in status.

The elements of this website developed by Just Technology do not attempt to access cookies sent to your computer by other websites you have visited nor will it try to obtain any other information from your computer for use by Just Technology or for passing on to any other party.

This website uses 3rd party software from Disqus, Twitter, and Facebook. The privacy policy of these vendors is therefore applicable to any facilities provided by these 3rd parties. Just Technology cannot provide any statement regarding protection of your privacy with respect to the facilities provided by these 3rd parties and cannot accept any responsibility for the way that any facility provided by them interacts with your computer or uses the information obtained from you or your computer.