Page 1 of 1

Getting Started - For Absolute Beginners

Posted: Fri Jul 15, 2011 7:18 pm
by Fred
This thread is intended as a guide for newbies/noobs, feedback is welcome!

The Basics Of The EMS World

FreeEMS is an Engine Management System (EMS) with Free (as in freedom and price) source code and hardware designs. Typically you need an EMS when you modify a car. The reasons for using an EMS like FreeEMS include some of the following:
  • Fuel injection and/or electronic ignition on an old carburettor/distributor/points engine
  • Transplant a newer engine into an older car without some things the original ECU needs
  • Any power adders, such as turbo, supercharger, nitrous, camshafts, ITBs, extractors, etc.
  • Education and learning about EFI and electronic ignition systems on engines
  • Data-logging and fine tuning
  • Controlling more solenoids than an OEM (GM/Ford/Toyota/Mazda/etc) ECU can
  • In the case of FreeEMS, running custom control strategies
If you fall into some (or all!) of these categories, or for any other reason, carry on reading below, you could be in luck! :-)

What You Need To Know
  • What type of car/boat/plane/lawnmower/snowblower/etc you have
  • What type of engine it has (manufacturer, model, cylinder count, displacement, manifold style, etc)
  • What type of sensors it has (RPM/Position, temperature, pressure, etc)
  • What type of control hardware it has (solenoids, coils, injectors, etc)
  • What power adders it has (camshafts, turbo, supercharger, nitrous oxide, etc)
What It Means To FreeEMS

The distributor(s) or cam angle sensor(s) or crank angle sensor(s) or some combination of the above require a piece of software called a "decoder" to be read and made sense of in the FreeEMS internal software (firmware from here on). Inside these devices are metal disks, wheels, cogs, pulleys, etc with physical patterns on them such as this one:


These physical patterns get read by Variable Reluctance, Hall or Optical sensors and produce a matching electrical signal that is conditioned by the circuits in a FreeEMS box and then read by the decoder software.

A list of the status of different decoders can be found here: ... /

EDIT: All built decoders should work to get your engine running. You can see a sample of the possibilities here: ... -defaults/

This is a temporary solution, and a web page will be put up fairly soon to display this information in a more convenient and clear manner.

Once you're sure that you understand what that means and have determined whether your RPM/Position sensors are currently supported or not you can tackle the appropriate next step.

Your RPM/Position Sensor(s) Is/Are Supported

If not, skip this section! If so, fantastic, skip the next section!!! :-)

Your RPM/Position Sensor(s) Is/Are NOT Supported YET

Don't be sad! :-( You have some options! :-) In order of desirability:
  1. Provide information and testing to assist a team member to develop a decoder for your setup (preferred)
  2. Develop a decoder for your sensor setup yourself (If you have the skills, please do!)
  3. Retro fit a sensor style that is supported (This shouldn't be necessary, but isn't difficult)
  4. Use some other system that will work for you (If you need a solution now, do this, carefully)
  5. Wait quietly for one of the team to develop a decoder for your setup (You could grow old in the process)
Note, if we don't know that you're interested, we'll likely put development effort towards features to help someone else. So tell us! :-)

Can FreeEMS Do What You Need
  • How many coils do you have?
  • What type are they?
  • Can they be driven in pairs?
  • How many injectors do you have?
  • What type/size are they?
  • What essential accessories do you have?
  • How do they work?
The answers to the coil/injector questions can probably help you find out if FreeEMS can meet your needs here: viewtopic.php?f=54&t=1084

As for the accessories, there is very little accessory specific code right now, however it should be straight forward to develop it as and when required. IE, just ask! :-)

When you're sure that you both want to run and can run FreeEMS on your setup, read this thread: viewtopic.php?f=54&t=1166

Thanks for reading, I hope it was helpful! :-)


Re: Getting Started - For Absolute Beginners

Posted: Fri Mar 14, 2014 12:01 pm
by Eastends
Hi, because i cant send Pm's yet ... i have to post this here upon reading i have come across a dead link ... /

is it still available or even needed ?



Re: Getting Started - For Absolute Beginners

Posted: Fri Mar 14, 2014 9:10 pm
by Fred
Hey Jesse, thanks for that. That file no longer exists, it was replaced with simple policy: If a decoder is present *in the build*, it must work, and be usable. Some skeleton decoders are present but NOT built, ignore them.

Current build has these variants in it: ... -defaults/

Re: Getting Started - For Absolute Beginners

Posted: Sat Sep 30, 2017 3:04 am
by jfuess
Is there some particular flavor of hardware (Mcu and components) that you recommend?

Re: Getting Started - For Absolute Beginners

Posted: Sun Oct 01, 2017 3:35 am
by Fred
Currently not many board options.

The MCU, as with most embedded software, is fixed: HCS12XDP512

Re: Getting Started - For Absolute Beginners

Posted: Sun Oct 01, 2017 4:57 pm
by jfuess
Is there a standard or generic board available that uses the HCS12XDP512 specifically for use with freeems that is available? If not, would it be ok if as some of your members to join me in making a batch?

Re: Getting Started - For Absolute Beginners

Posted: Tue Oct 03, 2017 7:52 pm
by Fred
You can make personal not-for-profit batches of the Jaguar and assemble: viewforum.php?f=67

Note that the current version (0.7-alpha) uses pressure sensors that were nearing end of line last I checked, so you may have trouble sourcing them. Not a deal breaker as you can use off-board MAP sensors for both MAP and AAP (if desired).

A new revision may come at some point with those fixes, work has been done against it. If you were brave you could build the untested/unreviewed board from the branch and try it.

Re: Getting Started - For Absolute Beginners

Posted: Wed Oct 04, 2017 5:50 pm
by jfuess

I finally found what I was looking for: ... c-ecu.html

I have no problem paying for hardware since it can save a lot of time and frustration on a project that might already have a pretty steep learning curve. You and DuceEFI, and others have done an amazing amount of work on this project and have been very gracious by sharing it with others. -- Thank you.

Re: Getting Started - For Absolute Beginners

Posted: Thu Oct 05, 2017 12:47 pm
by Fred
Glad you appreciate it :-)

I would strongly urge you to be in close contact and fully document your intended build before ordering anything, though.

Once we know what you have, what you need, and what you need to be able to do with it, then we can advise what level of readiness the system has for your application and how much effort/risk will be involved.

IRC, freenode, #freeems for real-time QA stuff, but chuck up a users' rides thread about the target vehicle with engine specifics and we can go from there.