Created: 2008-12-22 17:27
Updated: 2018-11-13 18:08

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,


Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more