EfiMini Engineering

From efiHacks Wiki
Jump to: navigation, search


Our Engineering Notes

While the whole world isn't perfect, we are (not either) :)
Saying this starts our list of our project milestones and product functionality.

As with our Open Interface policy, we also try to be open with where we stand and ask our users and potential future users to focus on what's really needed and what you would go to the wishing well for :)

The efiMini is more than just a simple piggy-back fuel injection module. It has a built in engine fuel injection data analyzer and data logger. with a lot of features and flexibility. Unfortunately not all of the features have been implemented yet.

While this list will show deficiencies, one has to evaluate the importance of each one of them.
Let's say ... the fuel injection crashes the firmware from time to time ... absolute NoNo ... unusable and needs immediate correction.
On the other hand, if the O2 sensor simulation output firmware is not finished, and the current circuit doesn't support an external reference gnd as input, but we have the fix for it already in the next schematic, it's not a too important issue.
Reasons for it are as following. The O2 simulation output feature is most likely only being used by a small amount of users. So, compared to others, the urgency is not that high. The circuit design issue is already resolved by the new schematic and the changes will be in the next layout.
But we will have it mentioned in the wiki as not implemented yet or similar.

So please don't be too discouraged, reading all these unfinished open ends in our wiki.
The key for most users is ... does it currently do what I really need it for and is the desired feature really that important right now, cause most likely an update to the flash based firmware will fix it.

Also our efiMini is a very flexible and customisable device with the firmware providing the customisation. So as the harware works, it's just a matter of time and the firmware will catch up with it.

In writing the GUI software we try to project into the future and all of it's desirable options, which implies that we put all the necessary hooks into it at the beginning, and implement the details on a priority basis. i.e. MAP and MAF sensor support seems less important than the TPS, and our analog inputs will read 0 V to 5 V with a higher impedance anyway. So it's finally back to software and firmware to enhance the overall functionality.

Our currently advertised product image shows an unprotected board. This is not the finally shipped product. As we are in the final steps of releasing the efiMini, we will most likely offer it in 2 variations.
One being the either conformal or epoxy coated pcb and the user has to tuck it wherever it fits (not too hot of an environment please) and wrap it with a shrink tubing or similar.
The second one will be in a small plasic enclosure, but about 3/4" bigger in the X and Y dimension. it will be taller than the pcb itself as well. No pict available, since we have not done a layout for it yet.

So here the story goes :)

Hardware functionality

The hardware is mostly working and tested, except some features need small changes and testing.

Fuel Injection Part : reading the input and driving the injectors all works ... that's what the efiMini is really about.

O2 Sensor Ins and Outs : the inputs are necessary and desirable, while the outputs are used infrequently. Circuits with small changes are drawn up and will be in the next rev.

Changes : changed input range from 0 V - 1.2 V to 0 V - 3.3 V and provide higher input impedance along with a pullup resistor to detect an open connection or cold NbO2 sensor.
Changed the fixed output ground reference to an externally reference-able ground. Needed if the simulated NbO2 output has to feed an ECU NbO2 sensor input with non vehicle ground referenced O2 sensor input.

Layout Changes : split single gnd plane into main and inj-driver with single connection point (why did I miss this the 1st time).

More IOs : current hardware has more optional inputs and outputs (ignition timing in and out), but no docs, firmware and software support due to lack of time.

So that's about it with the hardware ... next rev has it all ... current rev is not in any customers hands yet.

Firmware Functionality

Fuel Injection Adjust : implemented and tested, ok.

Map Data Transfer : works, except occasionally crashes upon all-maps transfer due to perceived USB communications bug (very hard to find). Affects only the programming operation
Workaround : load all-maps once and update data on a per map changed basis.

Run Time Data Transfer : implemented and tested, ok (analyze display and log graph data).

Other Config Data Transfer : implemented and tested, ok.

O2 Sensor Inputs : implemented and tested, range change s/b very minor.

O2 Sensor Outputs : implemented and tested, but will need some changes.

USB Communication : seems slow, but could be windows GUI app bound. Hangs occasionally CPU on all-map data transfer, which is an extremely hard to find bug. Otherwise it would be already fixed. Workaround available.

External SPI based Flash : implemented and tested, seems ok but needs more testing. What a complicated piece of code. Fast double buffer support and main loop state machine, cause we can't afford polling.

Config Data Flash Storage : SPI based, implemented and tested, ok.

Log Data Flash Write : SPI based, implemented, some package header data bugs, not usable right now.

Log Data Flash Read : SPI based, implemented, some data bugs discovered, but could be in the USB GUI software, not usable right now.

Ignition Timing Adjust : not firmware supported at the moment.

Other Hardware I/O Options : not firmware supported at the moment.

maybe we missed something ... there are sooooo many details

Software Functionality

On almost every Form there are additional sensor types and other features which are currently not implemented. It is easier to start some framework and implementation of such at the creation of the form, rather the trying to shoe-horn it into at a later time. Therefore it will give it an overall unfinished appearance. This is a trade-off between nice and slick looking or having an easy way to expand with pre-planned and partially implemented features at the present time. Since we're looking forward, we've decided to choose the techie and not the marketing approach.

Multi Form Support : currently not implemented.

Analyzer : implemented and tested, ok.

Table Editor and Display : implemented and tested, occasionally hangs the firmware while all-maps transfers, but work around available.

3D Maps : we have the 3D library, the 3D display form not too important and would just take time away from more important tasks, later.

Graph Display : basic functionality ok, absolutely usable.
Saving displayed portion and compare of 2 logs are still in the wishing well, no miracle but time consuming effort.
Doesn't display a small portion of log end due to the internal log expand architecture, falls under cosmetic.

Graph Config Dialog : basic functionality ok, very small update issues. i'e' read saved trace width and update param, but doesn't update display.

Log File Data Display : basic functionality ok, not really needed that much.

Calibration Config Dialog : basic functionality ok, when re-opening dialog it doesn't read the efiMini stored params back, was working before.

Accelerator Config Dialog : basic functionality tested, but no usability test done yet.

NbO2 Sensor Config Dialog : basic functionality tested, reading and display of sensor data ok.
NbO2 sensor simulation output needs adjust strategy, Not very often used.

WbO2 Sensor Config Dialog : input voltage range change is minor work, value conversion not yet implemented, most sw hooks for conversion already available.
NbO2 sensor simulation config setup dialog not yet implemented, Not very often used.

I'm sure that I forgot something :)

Functionality Tests

Fuel Injection Adjust : has been tested with simulation engine and in cars and motorcycle up and down and used for month.

Fuel Accelerator Adjust : concept and operation has been verified on workbench, no tests for usability done yet.

O2 Sensor Inputs : the impedance of the narrow band O2 sensor didn't seem low enough to satisfactorily drive our perceived high impedance input circuit. Circuit design changed and will be in next hw rev.

O2 Sensor Outputs : circuit works on a measurement basis. Needs gnd ref output change.

More IOs : where did the time go ???

You can visit also our gallery .

Note : All published design documentation is Copyright efiLabs.com and its use is without exception FOR NON COMMERCIAL PURPOSE ONLY. For commercial licenses contact efilabs.com ... try us, we're reasonable :)

Personal tools