Mykk
Well-known member
Heya, I wanted to share a bit of knowledge about a subject I've spent a few years researching. Retrofit and aftermarket standalone EFI. I want to express from the get go I love my carburetors, I think they are awesome. This isn't supposed to be a pro's vs cons of EFI vs Carb. But rather give you some food for thought if you were ever curious about adapting an EFI to your project or open up options for EFI controllers on your already late model EFI engine.
There are several EFI controller options. Of course, in this world you get what you pay for. In my quest for an EFI controller to suit my needs I stumbled upon an Opensource DIY system that uses a universal Arduino Mega 2560. The project is called Speeduino. I rather liked the stripped down, no marketing fluff, underdog in the EFI world.
Arduino is a universal programmable processor that is used by hobbyists & enthusiasts for home made robotics, 3D printers, home automation...I've even seen one use one to text his cell phone when the washing machine was done with his laundry. And now we can drive a car with one.
Speeduino is the the middle man between the engines wiring and sensors and the Arduino. This here is the v0.4 board:
Because it's opensource you can order a bare board and populate it yourself if you're so inclined. Or you can order a pre-populated board either directly from the Speeduino project creator or several 3rd party assemblers. As much as I love a good DIY project, I left the tedious task of soldering resistors, capacitors, IC's and transistors up to someone far more experienced at it then I and ordered a pre-populated board for $160.U.S.
A genuine Arduino Mega2560 will run you $40-$50U.S or a chinese copy/impostor will be $10ishU.S.
Speeduino can run any engine from 1cyl thru 8 cyl. 1cyl - 4cyl would be sequential, 6 & 8cyl would be waste spark and semi-batch fire.
The majority of the sensor inputs and control outputs are in the 40pin ide connector on the board. The board also has a built in 0kpa-250kpa MAP sensor (Up to roughly 21psi of boost).
Speeduino has four channels, it can directly drive injectors and uses a 5v logic output for ignition that needs external drivers for the high current load of ignition coils. Speeduino fires it's four channels sequentially so It's up to the installer to wire it to that engines specific firing order.
Of course the next step is wiring the EFI controller to your project:
A V8 will be in waste spark and semi-batch fire, it's up to the installer to figure out which two cylinders are at TDC simultaneously. For example:
The cylinders that are paired at TDC will get wired together for ignition and fuel making the system waste spark and semi-batch fire fuel. While one cylinder is on it's compression stroke the other is on it's exhaust stroke.
Another thing the installer needs to figure out is if the crank and cam sensors are Hall Effect or Variable Reluctance (VR). In the case of VR there is a signal conditioner board that get's used on the Speeduino.
With the systems hardware wrapped up it's time to focus on the software:
Starting with the Arduino and using it's IDE software we upload the Speeduino.ino sketch file from the Speeduino zip available on the wiki.
https://speeduino.com/wiki/index.php/Speeduino
With a compile and upload of the arduino sketch we move on to the tuning software. Speeduino uses TunerStudioMS, the same as MegaSquirt but it has it's own firmware file (also in the Speeduino zip folder). It uses different control tables then MegaSquirt.
Now we let the software know about all of the sensor specifics, the crank trigger pattern, temp sensor range values, TPS open & close adc count, Wideband O2 sensor output voltage.
The registered version of TunerStudio has a tool that will build a base Volumetric Efficiency table using engine specifics to get the project up and running:
There is even an online calc to give a base ignition timing table:
http://www.useasydocs.com/theory/spktable.htm
At first fire up it's important to verify that the programmed ignition timing matches actual ignition timing at the crank by way of timing light.
Once the project is up and running the registered version of TunerStudio even has an auto tune feature that will make changes to the VE table based on wideband AFR input.
How does the system do? I've been really happy with it:
https://www.youtube.com/watch?v=CRjPw6jeFoU
Within the system you also get a series of neat features like; variable valve solenoid controls, electric fans control, Launch Control & flat shift (2Step), knock control (by way of external knock module), Staged injection, Stepper or 3wire IAC controls ...and my personal favorite 2 stage nitrous controls:
You can choose between three tune algorithms. Speed Density (MAP vs RPM), Alpha-N (TPS vs RPM) or Imap/Emap that uses MAP sensor and exhaust pressure sensor to determine engine load by pressure difference.
Thanks for checking out my little write up.
There are several EFI controller options. Of course, in this world you get what you pay for. In my quest for an EFI controller to suit my needs I stumbled upon an Opensource DIY system that uses a universal Arduino Mega 2560. The project is called Speeduino. I rather liked the stripped down, no marketing fluff, underdog in the EFI world.
Arduino is a universal programmable processor that is used by hobbyists & enthusiasts for home made robotics, 3D printers, home automation...I've even seen one use one to text his cell phone when the washing machine was done with his laundry. And now we can drive a car with one.
Speeduino is the the middle man between the engines wiring and sensors and the Arduino. This here is the v0.4 board:
Because it's opensource you can order a bare board and populate it yourself if you're so inclined. Or you can order a pre-populated board either directly from the Speeduino project creator or several 3rd party assemblers. As much as I love a good DIY project, I left the tedious task of soldering resistors, capacitors, IC's and transistors up to someone far more experienced at it then I and ordered a pre-populated board for $160.U.S.
A genuine Arduino Mega2560 will run you $40-$50U.S or a chinese copy/impostor will be $10ishU.S.
Speeduino can run any engine from 1cyl thru 8 cyl. 1cyl - 4cyl would be sequential, 6 & 8cyl would be waste spark and semi-batch fire.
The majority of the sensor inputs and control outputs are in the 40pin ide connector on the board. The board also has a built in 0kpa-250kpa MAP sensor (Up to roughly 21psi of boost).
Speeduino has four channels, it can directly drive injectors and uses a 5v logic output for ignition that needs external drivers for the high current load of ignition coils. Speeduino fires it's four channels sequentially so It's up to the installer to wire it to that engines specific firing order.
Of course the next step is wiring the EFI controller to your project:
A V8 will be in waste spark and semi-batch fire, it's up to the installer to figure out which two cylinders are at TDC simultaneously. For example:
The cylinders that are paired at TDC will get wired together for ignition and fuel making the system waste spark and semi-batch fire fuel. While one cylinder is on it's compression stroke the other is on it's exhaust stroke.
Another thing the installer needs to figure out is if the crank and cam sensors are Hall Effect or Variable Reluctance (VR). In the case of VR there is a signal conditioner board that get's used on the Speeduino.
With the systems hardware wrapped up it's time to focus on the software:
Starting with the Arduino and using it's IDE software we upload the Speeduino.ino sketch file from the Speeduino zip available on the wiki.
https://speeduino.com/wiki/index.php/Speeduino
With a compile and upload of the arduino sketch we move on to the tuning software. Speeduino uses TunerStudioMS, the same as MegaSquirt but it has it's own firmware file (also in the Speeduino zip folder). It uses different control tables then MegaSquirt.
Now we let the software know about all of the sensor specifics, the crank trigger pattern, temp sensor range values, TPS open & close adc count, Wideband O2 sensor output voltage.
The registered version of TunerStudio has a tool that will build a base Volumetric Efficiency table using engine specifics to get the project up and running:
There is even an online calc to give a base ignition timing table:
http://www.useasydocs.com/theory/spktable.htm
At first fire up it's important to verify that the programmed ignition timing matches actual ignition timing at the crank by way of timing light.
Once the project is up and running the registered version of TunerStudio even has an auto tune feature that will make changes to the VE table based on wideband AFR input.
How does the system do? I've been really happy with it:
https://www.youtube.com/watch?v=CRjPw6jeFoU
Within the system you also get a series of neat features like; variable valve solenoid controls, electric fans control, Launch Control & flat shift (2Step), knock control (by way of external knock module), Staged injection, Stepper or 3wire IAC controls ...and my personal favorite 2 stage nitrous controls:
You can choose between three tune algorithms. Speed Density (MAP vs RPM), Alpha-N (TPS vs RPM) or Imap/Emap that uses MAP sensor and exhaust pressure sensor to determine engine load by pressure difference.
Thanks for checking out my little write up.