NB Miata drive by wire conversion with Megasquirt MS3Pro Evo – Part 1
After having some issues with aftermarket throttle bodies for my NB Miata this year I decided to convert my car over to drive by wire. This is the first post in a series of posts covering Megasquirt drive by wire conversion on my Miata.
Why am I converting to drive by wire?
There are hundreds of thousands of NA and NB Miatas on the road with stock cable driven throttle bodies. Why would I want to convert to drive by wire?
Skunk2 throttle body = Junk2 throttle body
I’ve been running the Skunk2 throttle body on my NB Miata for several years. I ran into two failures on track related to the Skunk2 this year:
- In May I had the throttle return spring break after two and a half years of use
- In August I had the throttle shaft portion that the cable pulls on completely break off after only four months of use
This goes along with what a lot of people say about the Skunk2 Miata throttle body, it’s junk. Even when it is working the throttle likes to stick partially open sometimes which results in a high idle, very frustrating.
Stock throttle bodies?
Theoretically the stock throttle body should be enough for my power level (~140 wheel horsepower), but more air won’t hurt. Additionally there have been many documented cases of issues with stock Miata throttle bodies. This includes the throttle blade screws backing out or the throttle blade shaft snapping.
Because both of those failure modes could result in a blown up engine I wanted something else.
For the remainder of the 2025 season after my second Skunk2 broke I switched to stock throttle body with 3M DP420 epoxy on the throttle shaft and screws.
Cable driven throttle body alternatives?
The problem is that there isn’t really any other off the shelf aftermarket cable driven throttle bodies for the NA/NB Miata platform.
There are Chinese clones of the Skunk2, but I question the quality of those even more than the Skunk2. I actually purchased one, but never ended up using it.
One potential route would be finding a suitable OEM quality throttle body that could be adapted for the Miata. I was able to source a 4.6L Ford throttle body which worked after grinding out the mounting holes a little bit. The problem with this route is that there is a lot of additional work since I would need to get an external idle air control valve working, and would have needed to come up with a modified throttle cable.
Why drive by wire makes sense
Drive by wire makes a lot of sense on paper:
- Idle control built in
- No need for an idle air control valve
- No need to deal with having proper throttle body cable tension
- No need to deal with idle set screws
- Cheap OEM quality new throttle bodies available in various sizes
- Lots of flexibility and safety
- Auto-blip downshifts are possible
- Cruise control is possible
- Custom throttle mapping curves
- Ability to have a limp home mode if something doesn’t look right
For drive by wire all I really need is a throttle body, an adapter to get it onto my intake manifold, a throttle pedal position sensor, and a controller that manages everything.
Drive by wire with Megasquirt MS3Pro Evo
A lot of modern standalone ECUs support drive by wire right out of the box (like Haltech, or MaxxECU). Unfortunately Megasquirt doesn’t. I have a Megasquirt MS3Pro Evo standalone ECU and am otherwise happy with it. For me it doesn’t make sense to spend a massive amount of money just for drive by wire support, especially when there are ways to get it working with what I have.
It’s worth noting that if I was starting again I would probably just get a MaxxECU.
One possibility is using a completely standalone drive by wire system that just reports back the TPS to the ECU as if it were a cable driven throttle body. These will also typically accept idle inputs to handle the idle control. This is simple, but I wanted something a little bit more integrated if possible.
Fairly recently the firmware of Megasquirt MS3 ECUs began supporting drive by wire using CAN bus communication messages, this is what I was after.
Megasquirt CAN compatible drive by wire controllers
These are all of the Megasquirt CAN bus compatible drive by wire controllers that I could find on the market as of November 2025.
DBWX2 drive by wire controller
From what I can tell this was the first controller to market, it started to be available in 2019. This is also the most expensive controller on the list at around $500.
- Configuration: Tuner Studio through USB serial port or through MS3 ECU CAN devices
- Price: ~$500 (depends on distributor)
- What’s included: controller, connectors, pins
- Link
One of the key features of this controller is that it supports controlling two independent throttle bodies. This can come in handy for some applications like controlling a boost actuator, or having two throttle bodies for a hot side supercharger setup.
LD Performance drive by wire controller
I’m not sure when this controller became available, it has a middle of the road price at around $200.
- Configuration: Standalone Windows application
- Price: $197
- What’s included: controller (not sure if it comes with connector/pins)
- Link
Out of all of the options in this list that I considered this seems to be one of the weaker ones. I’m sure it works fine, but not being able to configure it through Tuner Studio is annoying, and it doesn’t seem to have any unique/special features to make it stand out. Additionally the enclosure and connectors do not appear to be waterproof meaning it would need to be installed in the interior of the car somewhere.
SPTronics drive by wire controller
I’m not sure when this controller became available, but it has a really competitive price of around $150.
- Configuration: Tuner Studio through MS3 ECU CAN devices
- Price: $100.00 (1x throttle driver), $150 (2x throttle driver)
- What’s included: controller, connector, pins
- Link
This controller also supports dual throttle bodies if you pay for the dual channel version. It’s nowhere near as flexible as the DBWX2, but still works when you need to control two throttle bodies with the same mapping.
For the money it’s great, but it’s missing a lot of the configurability of the other options. This won’t be an issue for many applications, but there are some weird small things. For example, not being able to update the firmware, not having a configurable CAN bus termination resistor, and limited PID settings.
MS Labs drive by wire controller
I’m not sure when this controller became available. It’s on the higher end of prices for drive by wire controllers. It’s also not being sold to the United States at this time, so I didn’t end up getting one of these.
- Configuration: Tuner Studio through MS3 ECU CAN devices
- Price: ~€400
- What’s included: controller (not sure if it comes with connector/pins)
- Link
This controller has some pretty nice unique features. It supports the most throttle maps, more advanced idle control, and support for auto-blip downshifts. It’s a little pricy, but may be worth it considering its feature set.
AMP EFI drive by wire controller
This is the newest controller to market, it was just made available for sale in October 2025. The price point is competitive given its feature set at around $300.
- Configuration: Tuner Studio through 4 pin M8 serial port or through MS3 ECU CAN devices
- Price: $274.99 (controller only), $299.99 (with universal harness)
- What’s included: controller only, or controller with assembled universal harness (and maybe the serial cable)
- Link
This controller has some pretty nice unique features. One feature is the ability to use this as a completely standalone controller if desired using the TPS output and idle input pins. Another feature is the ability to configure auto-blip downshifts using brake and clutch input pins. Overall seems like a really solid controller for the money.
Plans for my 2000 Mazda Miata
In order to get drive by wire working with my 2000 Mazda Miata with the MS3Pro Evo ECU I need several things:
- Drive by wire throttle body
- Throttle body to intake manifold adapter
- Drive by wire controller
- Accelerator pedal position sensor
Throttle body and adapter
I chose the Bosch Motorsports 60mm drive by wire electronic throttle body.
These are OEM quality throttle bodies that are cheap (~$150) and readily available. Bosch manufactures very similar throttle bodies for a large number of car manufacturers. They are also available in a wide variety of diameters from 32mm to 82mm, including the 60mm which seems ideal for my application.
The Bosch throttle body doesn’t bolt up to the stock Miata intake manifold flange, so I need to get an adapter. I considered designing one and having it made, but Outsider Garage sells an adapter for $150 which is very reasonable, so I ended up just buying one of these to save me a good amount of time. ChathamCNC also recently came out with an adapter that’s only $95, I probably would have chosen this one instead, but I had already purchased the other adapter.
Drive by wire controller
I purchased three of the Megasquirt CAN compatible drive by wire controllers to test and compare.
- DBWX2
- SPTronics
- AMP EFI
I’ll be installing each of these controllers, testing out their functionality and compatibility, and ultimately pick one to keep installed in the car long term.
Accelerator pedal position sensor
The final piece needed for drive by wire is an accelerator pedal position sensor.
There are many ways to do this:
- Replace the factory throttle pedal with one that has a sensor built in (for example a Honda pedal, NC Miata pedal, or something else)
- Modify the stock pedal so that a accelerator pedal position sensor can read it
- Use a Honda cable driven accelerator pedal position sensor
Because I wanted to minimize the amount of time on my back with my head stuffed up and under the dash I decided to go with the Honda cable driven sensor. An additional benefit of this is that I should be able to continue using my factory cruise control. Another benefit in my opinion is that this retains most of the feel you get with a cable driven throttle body since the actuation feeling is very similar.
The Honda sensor is basically a sensor that has a spring and a spot for the throttle cable to wrap around just like a cable driven throttle body. It can be mounted basically anywhere and can be used to convert a drive by cable pedal to a drive by wire pedal.
Honda used it for several years in some cars with some engines, I was able to easily get a couple from a junkyard for cheap. 2003 – 2007 Honda Accords with the V6 should have them, along with some other V6 powered Honda/Acura cars around to that year range. These are also readily available from the aftermarket on Amazon including both name brand and unbranded options.
Conclusion and next steps
My plan is to convert my NB Miata with a MS3Pro Evo ECU over to drive by wire and document the process. I will be testing and comparing out three Megasquirt CAN bus compatible controllers from SPTronics, DBWX2, and AMP EFI. Ultimately one will be selected to be used long term in my car. The controller will be used with the Bosch 60mm electronic throttle body and Honda accelerator pedal position sensor.
Expect three follow up posts where I cover each controller in depth, along with more follow up posts covering my favorite controller and any experiences I have with my setup longer term.










