Why create DIYEFI.org?


Although I have attempted to do this in multiple other places, I would like to take the time to acknowledge the amazing achievement that Al Grippo and Bruce Bowling have made with the MegaSquirt project. They, together with a team of hundreds of people, have brought affordable DIY EFI to the masses. They have assembled a large and wonderfully knowledgeable group of people together in one place and put enormous amounts of time and effort into the education of average car enthusiats throughout the world. For these things we should always be thankful and this should not be forgotten.

Put simply, it was time for a change

Over the years the MegaSquirt name has meant a lot of things to a lot of people. Originally it was a small group of hard-core people that were willing to muck in, get their hands dirty and give it a go on their engines with no real knowledge of what to expect. The original MS1 has come a VERY long way from its humble beginnings as a bare essentials, fuel-only controller. MS2 has brought unprecedented fuelling accuracy within reach of the most budget-minded backyard racers. The addition of ignition control and a broader feature set has made the product applicable to a much larger audience. As the popularity of the MegaSquirt brand has increased, the type of users and buyers attracted has changed and the direction that the products and code seem to be going in does not appeal to the hard-core DIY sector anymore.

Where we were

In the past, each time a new MS board came out there was always a quiet disappointment because certain things were "hard coded" without discussion with the user base. For example, the MS2 daughter card has 3 I/O pins hard wired to a stepper driver chip when only a fraction of MS2 owners have a stepper idle device. That stepper chip only provides 2 I/O pins for the three it uses up. The MS2 card also has 4 I/O pins tied to a pair of NAND gates for PWM peak and hold injector driving that only a small percentage of MS users require. Although that is a clever implementation, no attempt to allow others to use these pins for different purposes was made. Furthermore, this functionality could easily have been provided by other hardware with minimal extra board area used. An even more fundamental flaw in the design process was the choice of the 48 pin/64K variant of the HC9S12C series chip. According to Freescales 16 bit roadmap, the C128 variant, presumably with 80 pins, was available around 6 months earlier than the C64 variant. We believe that these errors in judgement were allowed to reach the board manufacture stage because of the closed development environment.

Like the hardware, the firmware has been designed using a closed development process which has led to various problems that could have been avoided with proper public consultation. For example, the base MS2 code is developed in a commercial IDE that costs several thousand dollars to obtain legally. To this day, that code is still distributed in one large 8000+ line file. Even in assembly or C, there is no need for code to exist in one file and doing so increases the cyclomatic complexity metrics and associated probability of bugs.

While many great people have become involved in the development of code and made the MegaSquirt name great, this most likely would have been a much larger number if a clear open license was used from the start. Instead a different attitude has been present and more recently become clear. This snippet of the license from Lance's new GPIO code illustrates the attitude that, along with a VERY steep learning curve and unnecessarily complex code base, has kept some people from helping : "Any code modifications made for any reason become the exclusive property of Bowling and Grippo". The rest of the rather restrictive license can be found here.

Where we are

We believe that a totally open environment will better serve the DIY community by allowing innovation and competition which will drive people to better designs and lower prices. By following the traditional open source methods of freedom and sharing of all things, we think we can allow engine management technology to truly thrive and grow. DIYEFI.org has been created to facilitate progress in those directions. Members of the site are working hard on making a truly Open Source and Free (as in freedom) Engine Management System available to the world as soon as possible. Get involved on the forum to keep up to date with the latest developments in code and hardware design and discussion.

Where we are going

It is our vision that this site will provide a place for the collaborative development of a whole suite of engine management and tuning tools for the use of DIY automotive enthusiasts. That vision starts now with the active development of FreeEMS. Bring your bright ideas and talent along and help the community grow and prosper.

Back to top

What this is

Back to top

What this is not

Back to top

Rules and suggestions

In summary, "Freedom". We stand for three things :

In order to ensure that this site's future is golden, there need to be some rules put in place. These are here for your protection and benefit. Some of them are hard rules and others are suggestions. It is not legally possible to enforce some of these things, however in the interests of the spirit of the project we would like you to try to adhere to them as best you can.

Back to top