Tree [b247e5] master /

File Date Author Commit
 bin 2013-12-12 Fred Cooke Fred Cooke [132513] Fix the timing step issue on hotel by changing ...
 docs 2014-03-25 Fred Cooke Fred Cooke [abf23c] Stop the crazy Doxygen URL scheme that's always...
 lib 2012-11-25 Fred Cooke Fred Cooke [311e7d] Add partner to permanent turn off of logging. T...
 src 2014-06-21 Fred Cooke Fred Cooke [b247e5] Refactor the Makefile into pieces. This commit ...
 tmp 2011-03-22 Fred Cooke Fred Cooke [e21a07] Update git ignores with comments and Dave's entry.
 .cproject 2012-03-01 Fred Cooke Fred Cooke [de98bf] Add updates from eclipse reconfigure per thread...
 .gitignore 2013-04-30 Fred Cooke Fred Cooke [0f6e56] Remove something stale from ignore and add xcod...
 .project 2012-05-30 Fred Cooke Fred Cooke [8ecdb8] Remove project nature for auto scan (unneeded) ...
 Makefile 2013-12-12 Fred Cooke Fred Cooke [132513] Fix the timing step issue on hotel by changing ... 2012-12-02 Fred Cooke Fred Cooke [4fb21e] Update README to reflect best option for gettin...
 TODO.txt 2011-06-16 Fred Cooke Fred Cooke [1311c4] Remove old items that are now on http://issues....

Read Me

FreeEMS - TRUE DIY Engine Management


FreeEMS - The open source engine management system!

Please see for the most up to date information and links!

To casually follow the highlights you can subscribe to our facebook page!

Before using FreeEMS, please read the disclaimer!

If you're wondering why this project was started have a look at this page.

Obtaining the firmware

The best way to get the latest development firmware is from the build server!

Building the firmware

If you want to build your own firmware for some reason such as customisations, read below.

Ensure that you have the latest release or latest code from the github repository.

To build this firmware you need the latest build environment from the tools site.

You also need an up to date version of git available on the command line.

With these prerequisites met, simply type 'make' and choose an option!

Loading the firmware

Please note: hcs12mem is no longer capable of loading the firmware unassisted.

You need either FreeEMS Loader or mtxloader. The former is a standalone app,
and the latter is packaged with MTX.

If you are working on the dev board, you need to flip the load/run switch
to "load" and depress the reset button, or send a reset packet, prior to
flashing. Return the switch to the "run" position when complete.

Tuning your FreeEMS

Tuning is currently done with a combination of techniques. For the full story
check out this thread
and the threads that it links to.


Please post any and all feedback on code, documentation, the system, anything
at all, even subtle and minor stuff to the forum.

Thanks for playing with FreeEMS :-)

Good luck and regards,


Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks