Getting Started - For Absolute Beginners
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 It Means To FreeEMS
- 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)
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: https://github.com/fredcooke/freeems-va ... /STATUS.md
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:
- Provide information and testing to assist a team member to develop a decoder for your setup (preferred)
- Develop a decoder for your sensor setup yourself (If you have the skills, please do!)
- Retro fit a sensor style that is supported (This shouldn't be necessary, but isn't difficult)
- Use some other system that will work for you (If you need a solution now, do this, carefully)
- 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! :-)
- where Open Source means Open Source, and Free means FreedomFreeEMS.org
- the open source engine management systemFreeEMS dev diary
and its comments thread
and my turbo truck!n00bs
, do NOT
PM or email tech questions! Use the forum!The ever growing list of FreeEMS success stories!