FreeEMS (deleted 24 Aug 2008 at 07:02)
From Deletionpedia
| This is a copy of the page FreeEMS (other versions), which Wikipedia has deleted (about deletion). Deletionpedia archives Wikipedia pages. | ||
|
This page was created 1 April 2008 and deleted 24 August 2008 (144 days).
|
||
| Please read our disclaimers. Deletionpedia is an archive of deleted Wikipedia pages. | ||
| 2008 August 17 | This page was deleted using Articles for Deletion. The deletion discussion can be read on Wikipedia. |
FreeEMS is an experimental electronic fuel injection (EFI) controller that is currently under active development. FreeEMS is being developed on DIYEFI.org which was founded by Fred Cooke for this purpose. FreeEMS differs from the only other DIY EFI system MegaSquirt in that it is totally free and truly open source. The project is licensed under GNU GPL and TAPR OHL meaning that anyone can do anything they like with it within reason. This can not be said about MegaSquirt because the source code licenses prevent its use on other hardware, and the hardware is copyrighted and not free to reproduce. MegaSquirt proponents refer to their system as having "open source software" however this is not true to the definition of Open-source software as illustrated by this quote[1] by Richard Stallman :
"However, the obvious meaning for the expression “open source software” is “You can look at the source code,” and most people seem to think that's what it means. That is a much weaker criterion than free software, and much weaker than the official definition of open source. It includes many programs that are neither free nor open source."
FreeEMS firmware is true open source software as defined by the Open Source Initiative and the Free Software Foundation.
Contents |
Status
Currently FreeEMS is being tested and developed on the bench and in a test vehicle. It has not yet run an engine however this will be attempted shortly. Activity in the community will greatly increase over the next few months or so once video of the system working is distributed. The code is being actively developed and the basics are working nicely already with a lot more to come in future.
History
FreeEMS and DIYEFI.org were born from the closed nature of the MegaSquirt project, and the way it is publicised as being open when it is not. It was noted that this closed nature prevented progress from occurring rapidly as in other true open source projects, and also allowed mistakes to make it to the final designs because the design work was done behind closed doors. By encouraging open public discussion and debate on all important issues, the community will have its say and FreeEMS should turn out a better and more balanced product.
Hardware
FreeEMS operates just like any other Engine Management System by reading various sensors on the engine and producing appropriate output based on calculations done with those readings.
Free designs
All current FreeEMS hardware designs are shared under an appropriate open source style license. Existing designs use the TAPR OHL Open Hardware License. This allows the community to assist the projects growth by modifying and openly contributing their designs to the group.
Microcontroller
FreeEMS uses the Freescale HC12 MCU variant MC9S12XDP512 to do the number crunching and all other electronic duties. The core has around 90 IO pins, 512KB of flash based non-volatile memory, 32KB of RAM, 16 ADC channels, runs at 40MHz, and has an 80MHz RISC co-processor.
Prototyping board
Initial implementations of FreeEMS hardware are being designed around a prototyping board called 'Adapt' from Technological Arts. These designs can be obtained from the sourceforge sites download section.
Initial testing
Testing of the first usable versions of the FreeEMS firmware is being done on a modified Toyota ECU. A complete hardware design will be available shortly which will ease adoption of the system. Another option is to use an adapter board between a MegaSquirt main board (version 2.2, 3.0 or 3.57) and the Technological Arts Adapt XDP512 card. This could significantly lower the entry cost and difficulty for those with MegaSquirt systems already wired into their vehicles.
Noise rejection
FreeEMS board designs use a multiple feed power and ground system to effectively isolate noise from high power components from the incoming signals. By separating the grounds and power feeds we ensure that voltage drops are not present on critical sensor signal lines and lower the capacity of wire required to run the system effectively. In contrast the MegaSquirt family of fuel injection controllers use a single ground system which requires heavier than normal grounding and power cables to remain mostly noise free.
Firmware
FreeEMS firmware is written in the C programming language using the GNU Compiler Collection tool chain for hcs12. A small amount of assembly is present for the purposes of writing flash memory from the stack. In the future some assembly code may be added for use on the XGATE co-processor however that is not currently necessary.
Modular code
The code has been developed in such a way that there are clear and well defined boundaries between different sub components. This falls inline with software industry best practices and ensures that the code is both easy to understand and maintain.
Documentation
All aspects of the code no matter how minor are being documented extensively. This should enable the entry level to be significantly lower and promote user input and growth of the code base.
Complimentary Software
JEMSTuner
JEMSTuner is a new Java based tuning tool being developed to be totally modular and extensible. It is being developed along side FreeEMS to allow simultaneous growth of both the EMS and it's human interface togehter. Components within JEMSTuner are interconnected with JMS technology. This enables features like remote tuning to be second nature to the package. Using Java and other free and open source technologies ensures maximal accessibility to the public. Using Java also ensures cross platform operation is the default.
FreeTherm
FreeTherm is a utility to create array definitions of ADC to temperature data based on 3 thermistor points via the Steinhart-Hart equation method. It is built in C# and runs under Linux, Mac OS X or windows on Mono or the .NET runtime environment with GTK# libraries installed.
Licenses
All firmware is under the GNU GPL V3 license, and all DIY hardware is under the TAPR OHL license.
Comparison
"DIY" fuel injection systems from the perspective of a DIY enthusiast.
| MegaSquirt | MegaSquirt II | MicroSquirt | MS2 Sequencer | MegaSquirt 3 | VEMS | FreeEMS | |
|---|---|---|---|---|---|---|---|
| Released | 2001 | 2005 | 2007 | Not yet available | Not yet available | 2003 | 2008 |
| Processor | 8-Bit MC68HC908 | 16-Bit MC9S12C64 | 16-Bit MC9S12C64 | Dual 16-bit MC9S12C64 | 16-Bit MC9XEP100 | AVR Atmega128 | 16-Bit MC9XDP512 |
| Speed | 8 MHz | 24 MHz | 24 MHz | 2 x 24 MHz | 50 MHz | 16 MHz | 40 MHz |
| Flash | 32 kB | 128 kB | 128 kB | 2 x 128 kB | 1024 kB | 128 kB | 512 kB |
| User RAM | 512 B | 4 kB | 4 kB | 2 x 4 kB | 64 kB | 4 kB | 32 kB |
| Total IO pins | 34 max with mods | 31 max with mods | 31 max with mods | 62 max | 91, 119, or 152 | 53 max | 91 or 119 |
| ADC/ATD pins | 8 (8 bit) | 8 (10 bit) | 8 (10 bit) | 16 (10 bit) | 16, 24 or 32 (12 bit) | ? | 16 or 24 (10 bit) |
| IC/OC pins | 2 | 6 exposed | 6 exposed | 12 exposed | 8 - 16 | ? | 8 |
| DIY assembly | Optional | Optional | No, SMT | No, SMT | No, SMT | No, SMT | Yes, by choice |
| DIY boards | Not permitted | Not permitted | Not permitted | Not permitted | Not permitted | Not permitted | Yes, encouraged |
| Software License | Proprietary[2] | Proprietary | Proprietary | Proprietary | Proprietary | Proprietary[3] | GPL V3 Free & Open Source[4] |
| Features/ Benefits | Fuel and COP ignition with msextra, inexpensive, rich feature set. | Fuel and COP ignition with ms2extra, good fuel and ignition accuracy. | Same Features as MS-II, plus small size, sealed case, assembled. | Sequential Injection (8-channels), COP (8-channels), individual trims, uses MS-II and MS-II Extra Firmware, assembled | Sequential Injection (8-channels), COP (8-channels), individual trims, uses merged MS-II and MS-II Extra Firmware, assembled | Sequential Injection (?-channels), COP (?-channels), rich feature set, assembled, exists now. | Sequential Injection (6-channels), COP (12-channels), individual trims, cheap, uses free open source software and hardware designs, modular clean source code. |
| Issues/ Drawbacks | Inaccurate fuel delivery with large injectors, significant jitter on ignition channels, assembly source code. | Too little I/O, more expensive than MS1, delicate hardware, some pins fixed to optionally features, unused pins difficult to access, difficult to read and modify monolithic source code. | Delicate hardware with no protection, some pins fixed to optionally features, unused pins difficult to access, difficult to read and modify monolithic source code. | Will be expensive, not yet available, not DIY, not Free and open source software (FOSS), difficult to read and modify monolithic source code. | Will be expensive, not yet available, not DIY, not FOSS. | Expensive, not DIY, not FOSS, fuel delivery not as accurate as MS2 variants. | Complex new system requires expert to use, less sequential fuel channels. |
Note: Both MS1 and MS2 are effectively just processors, both of them require a main board to function. The three different available main boards, 2.2, 3.0 and 3.57, are cheap, reasonable, and expensive respectively. Consequently, MS1 or MS2 being cheap relies on the use of a 2.2 or 3.0 board both of which have some issues.
External links
References
- ↑ Why Open Source misses the point of Free Software - GNU Project - Free Software Foundation (FSF)
- ↑ Source available to view and modify, but not "free" (as in beer) for alternative non-megasquirt uses. Not free (as in speech) at all.
- ↑ Closed source, not free (as in speech) at all. Source code available only when hardware is purchased and with NDA of some sort.
- ↑ Free for any use as per GPL terms. Available on sourceforge here : https://sourceforge.net/project/showfiles.php?group_id=214452
Categories: Deletionpedia:Pages deleted 24 August 2008 | Deletionpedia:Pages edited most during April 2008 | Deletionpedia:Pages often edited by anonymous editors | Deletionpedia:Pages with 10 or more editors | Deletionpedia:Pages with 20 or more revisions | Deletionpedia:Pages started 1 April 2008 | Deletionpedia:Pages on Wikipedia for 100 or more days | Deletionpedia:Metric E | Deletionpedia:AfD deletions tagged in 2008 August 17 | Engine fuel system technology | Fuel injection systems | Ignition systems

