The FreeEMS FAQ

A variety of questions, and answers for them, that come up fairly often. If your question isn't answered here, please ask it on the forum, and suggest that it be added here.

The Questions

The most Frequently Asked Questions about FreeEMS! (You can skip ahead to the answers if you want.)

General:

For ex-MegaSquirters:

Political stuff:

The Answers

Answers to the most Frequently Asked Questions!

Is FreeEMS really free?

Yes, FreeEMS firmware is both free as in freedom and free as in beer! The monetary cost of FreeEMS is the componentry alone. All of the core tools are available from associated open source projects, however you may choose to pay for proprietary alternatives where they exist. On the other hand, if you appreciate the massive amount of work that they have put in, feel free to make a donation.

Exactly how good is FreeEMS?

We think it's awesome! FreeEMS has been developed, from the start, with a strong emphasis on quality. Modular code, protected hardware circuits, professional version control, unit testing, functional testing, protected communications, the list goes on. FreeEMS is built from the ground up to not let you down! Keep in mind that it's still under development, though, so there are no users yet, only testers.

Where can I get the hardware?

That's a tricky one! More info to come.

Where can I get the latest firmware?

The latest development firmware is always available from the continuous builds page, and the latest release firmware (often badly out of date) is always available on the downloads page. If you're looking for the source, you can find that on github. For the time being, you're best off using the latest development firmware from the build server, however you should consult the developers about your application before using anything.

Can FreeEMS control ignition?

Yes! Right now, up to six real time output channels are available to share between ignition and injection. In future this number will grow dramatically.

Can FreeEMS control injectors?

Yes! Right now, up to six real time output channels are available to share between ignition and injection. In future this number will grow dramatically.

Can FreeEMS do sequential injection?

Yes! Upto six cylinder sequential injection is possible right now. The six real time output channels are shared between ignition and injection. In future this number will grow dramatically.

Can FreeEMS do coil on plug ignition?

Yes! Upto six cylinder COP/CNP is possible right now. The six real time output channels are shared between ignition and injection. In future this number will grow dramatically.

Does FreeEMS support XYZ RPM/position sensor(s)?

Probably, see here for a comprehensive list. If you don't see yours in the list, we can probably add it if you provide sufficient information on the pattern.

Why are there so few settings for RPM/Position inputs?

We believe that RPM sensors should, more or less, just work. As such, the code is written to require absolutely minimal configuration.

Why are there so many different s19 files to choose from?

The firmware is provided on a per pattern basis, with a different decoders in each. Just select the appropriate one based on your engine hardware, load it up, and start setting up the system.

Why is there no "flood clear mode" available?

On an EFI engine, flooding ONLY occurs during tuning and setup, or because the tune is very very wrong. In the event of flooding your engine (extremely unlikely) you can easily remove the relay or fuse for the injectors and/or fuel pump, or simply unclip the injectors and crank to clear. This may be added as an optional feature in future, however, if added, it will always be disabled by default.

Why can't I run single injection per cycle with a distributor RPM input?

This doesn't make any sense to do and will result in a rough running engine. You're much better off with several other options. The effect of this is largest at small pulse widths such as idle and low load cruise. The reason that engines run rough when configured this way is that fuel is delivered to different parts of the intake cycle for different cylinders. Thus, for some cylinders the fuel is puddled in the port and for others it is entering through an open valve. These different routes to the cylinder result in a different burn process due to different atomisation and evaporation characteristics. There is an optimum time to inject fuel for any given setup, however the engine will run smooth and consistently provided that the fueling is consistent. This is the most important thing. Additionally, it would have required more special code to allow for this undesirable capability, thereby compromising other users experiences. Low specific power engines will run well with number of injections per cycle equal to number of cylinders using a distributor input. If the injector dead time error becomes too large, it means that you're making significant power, and you really should upgrade your RPM/Position sensor style to something with crank shaft or cam shaft synchronisation capability. A diagram with a key is available here.

Why is taking an atmospheric pressure reading at start up not an option?

This technique is fundamentally flawed for a variety of reasons.

Why is your communication protocol so complex?

It's not that complex, really! It's designed the way it is, by a team of people, to be as reliable as possible under all circumstances. Unprotected communications can lead to corruption of tuning data, the same data that is responsible for the health of your engine. Do you really want a melted piston because a serial transmission went slightly wrong? We didn't think so!

Can I design my own hardware for FreeEMS?

Yes, absolutely! In fact, you're encouraged to do so! Variety and competition in this area can only lead to a better FreeEMS experience for everyone!

Can I sell FreeEMS compatible hardware?

Yes! Provided that you fully support it! It is not up to the community to provide support for your hardware designs, that is your responsibility, and one that you are required to fulfill.

Isn't the FreeEMS design based on MegaSquirt?

NO! Absolutely NOT! FreeEMS shares absolutely NOTHING with MegaSquirt, and frankly, this question is seen as quite an insult to the team of developers who have put a LOT of effort into making this a world class solution. The only similarities are DIY hardware, MCU manufacturer and viewable source. Note, MegaSquirt is NOT open source, despite what many think.

Valid XHTML 1.0 Transitional