R3VLimited Forums

Go Back   R3VLimited Forums > E30 Technical Forums > Engine & Drivetrain > Alternative Tuning / W.A.R / Megasquirt / etc

Thread Tools Search this Thread
Old 03-27-2018, 03:12 PM   #1
Advanced Member
Join Date: Oct 2014
Location: Prescott Az
Posts: 167
Speeduino DIY standalone EFI (M60 V8 content)

Hey guys. I've recently installed, got running and currently tuning a Speeduino DIY standalone EFI in place of the Bosch Motronic m3.3 controlling my M60B40

I wanted to go in-depth a bit more then my Supercharged M62 build thread and share a few pics & vids of the install. Speeduino is a fully opensource universal DIY EFI that uses an Arduino Mega 2560 controller. It is an extremely cost effective way to get into the standalone EFI game. That being said, in the world of standalone EFI you get what you pay for. More expensive units will have more options, more features and more R&D.

You can order directly from the creator of the system both bare unpopulated boards and component kits or pre-assembled boards. There are also a handful of third-party guys around the globe offering assembled Speeduino boards.

All of the resources are available online and the online community surrounding speeduino is very active with people willing and wanting to help.

My own Speeduino v0.4 board with the Arduino Mega2560 while I was making a plug'n'play type set up using a gutted 88pin 484 Bosch DME.

Options and outputs you get with Speeduino:
  • 4 injector channels
  • 4 Ignition outputs
  • Fully protected input channels for CLT, IAT, TPS and O2
  • Optional VR conditioner mount on crank and cam inputs (Which you'll need for BMW vr crank & cam sensors)
  • MAP sensor mount location
  • DRV8825 stepper module mount location (not needed for BMW 3 wire IAC)
  • 4 medium-current spare outputs (e.g., fuel pump, thermo fan, boost control, VVT, etc)
  • 5 unpopulated/configured optional low-current spare outputs in "proto" section, including tachometer and clutch/launch control
  • A single 40-pin IDC connector includes all pins required for the board with the exception of the 12v inputs
  • Built in 0kpa-250kpa MAP sensor
  • Works with TunerStudio software, same as MegaSquirt

You'll notice the board offers 4 injector outs and 4 ignition control outs. I say "ignition control out" because you can't directly drive an ignition coil from the board. You'll need a series of external drivers/control modules for each coil.

With 4 fuel & ignition outs you can run a 4cyl with sequential injection as long as there is both crank and cam signals. A 6cyl would be in semi-batch fire injection and waste spark using 3 channels of the board. A v8 will be semi-batch fire injection and waste spark using all four channels.

For my personal project I decided to go with a full MSD ignition system, MSD DIS-4, two 4cyl waste spark coils and MSD ignition wires. One could easily wire and adapt in control modules/drivers to maintain the BMW coil on plug and OE wiring.

Taking a look at the M62B44 short block I'm currently building you can see the paired cylinders that are 360 degrees apart from each other. While one cylinder is on it's compression stroke the other is on it's exhaust stroke.

Cyl's 1 & 6:

Cyls 2 & 8:

Cyls 3 & 5:

Cyls 4 & 7:

M60B40 firing order is 1-5-4-8-6-3-7-2, the Speeduino fires it's four channels in order so it's up to the end user to wire it for the firing order of that engine.

In the case of this M60 it'll be Channel 1 = Cyl's 1 & 6, Channel 2 = Cyl's 3 & 5, Channel 3 = Cyl's 4 & 7, Channel 4 = Cyl's 2 & 8.

The injectors get paired up the same way, thus calling it Semi-batch fire as they will fire two cylinders at a time sequentially.

At some point in time I figured I changed enough with the engine side wiring so I gave up with my Plug'n'play idea and hard wired the Speeduino to the vehicle.

Needed to wire the main relay to turn on with ignition switch instead of DME.

Reinstalled stock throttlebody with TPS

Since the system uses Speed Density or Alpha-N (your choice) there will be no more MAF sensor.

Now that we've got the hardware section wrapped up it's time focus on the software side of things.

Download lastest Speeduino firmware from the Speeduino Wiki:


Download the Arduino IDE:


Open up, configure and plug in the Arduino IDE for the Arduino Mega 2560 via USB, open the Speeduino.ino file in the previously downloaded firmware:

Verify Arduino sketch and upload to controller.

Download TunerStudioMS software:


I encourage everyone to register (pay) for the software as you get a lot of neat features with the registered version, however the software will still do what you need as the free version.

When you open studio and create a new project, you'll need to browse for the Speeduino.ini firmware and load it in TunerStudio.

Then open the BaseTune.msq in the Speeduino firmware folder as the base for your tune to modify and set up for your application.

With the registered version you can make your own gauges:

(still need to fix ignition angle description)

Setting up fueling for the M60B40 with stock 19lb injectors

The M60 uses a bosch 60-2 trigger wheel for crank sensor. The leading tooth offset is 60 degrees BTDC.

I was having trouble getting mine running with -60 offset, but it worked on 300 offset. With the latest firmware update I tried -60 again and it worked just fine.

The registered version of TunerStudio has a neat feature that will build a base VE table for your application by inputing engine specs:

There is an online calc that will build a base ignition timing map for your application as well:


With TPS closed, in calibrate TPS window hit Closed throttle ADC count get current. Then go to WOT and do the same for Full throttle ADC count

Calibrate Coolant and Intake Air temp sensors:

Calibrate AFR gauge input voltages for your specific brand of AFR gauge:

Tune the desired AFR ratio table, TunerStudio has a wizard to populate this table for you as well.

In spark settings lock ignition advance to an angle the engine can run at, I chose 10 degrees. Verify the ignition timing at the crank with a timing light matches the programmed locked out ignition advance. I ended up needing to change the crank trigger angle from -60 to -59 for timing light to match Speeduino.

Once Speeduino is all set up, configured, base tuned it should crank, fire up and run. I didn't use an IAC, you can use your Bosch 3-wire IAC and configure to maintain idle RPM.

With the engine running and coolant temp is up to operating temp TunerStudio has a self tuning VE that uses the AFR table and AFR gauge input to make changes to the VE table for you:

Here is my first fire up after install:


Thanks for checking out my Speeduino thread

Last edited by Mykk540i/6; 03-27-2018 at 06:40 PM.
Mykk540i/6 is offline   Reply With Quote
Old 03-27-2018, 05:03 PM   #2
No R3VLimiter
Northern's Avatar
Join Date: Nov 2010
Location: Halifax, N.S.
Posts: 3,090
This is really cool. Thanks for taking the time to document it so well!
Originally Posted by priapism View Post
My girl don't know shit, but she bakes a mean cupcake.
Originally Posted by shameson View Post
Usually it's best not to know how much money you have into your e30
Northern is offline   Reply With Quote
Old 03-30-2018, 11:58 AM   #3
nando's Avatar
Join Date: Nov 2003
Location: bellingham, wa
Posts: 33,752
Nice to see the DIY EFI stuff is running now - kindof funny that it uses msq files, but hey, if it works, it works!

Great looking build too. how do you like the DIY EFI?
Build thread

nando is offline   Reply With Quote
Old 11-21-2018, 08:56 PM   #4
E30 Addict
eduTechnic's Avatar
Join Date: Dec 2012
Location: Utah
Posts: 400
Very cool build man! I'm just getting started with Speeduino on my Datsun 620. I have better plans with the e34 for Speedy as well. Can you toss up a pic of how you went from the back of the stock DME connector to the 40-pin Speedy connector? I've got a bunch of Dupont cables but they're so thin.
Turbo M50 4 Door Build thread here 4 Sale thread
eduTechnic is offline   Reply With Quote
Old 11-29-2018, 04:29 PM   #5
Advanced Member
Join Date: Oct 2014
Location: Prescott Az
Posts: 167
I ended up cheating and hard wiring the speeduino directly to the engine wiring harness. It is totally possible to maintain the 88pin connector if desired. I just didn't see a need to
Mykk540i/6 is offline   Reply With Quote
Old 11-29-2018, 08:58 PM   #6
E30 Addict
eduTechnic's Avatar
Join Date: Dec 2012
Location: Utah
Posts: 400
Nice. I did that on my Datsun 620--chop chop and hardwired Speedy into the loom, then removed the extra wires
Turbo M50 4 Door Build thread here 4 Sale thread
eduTechnic is offline   Reply With Quote

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -7. The time now is 08:55 AM.

Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Copyright 2004 - 2020 R3VLimited LLC