Generating VSS signal with Arduino to feed aftermarket ECU

Hi guys,

Recently I bought an Adaptronic ECU for my Mazda RX8.

The ECU is not capable of reading CAN (old model), so, features depending of speed (like launch control)
are not working.

My idea is to get the speed via OBD (Already got this) and output a speed signal directly to the ECU.

The problem is that I have no idea what formula should I use to convert the speed value.

Adaptronic told me: Ecu needs to see frequency type speed signal, it can be digital or reluctor type

Not sure if that info is enough, if so, could you guys give me a hand with the formula?

Thanks a lot :slight_smile:

Here's a little more of info about Adaptronic and the VSS Wheel Speed Inputs and Gear Detection on Modular ECUs - Adaptronic

I see what you are trying to achieve. if this is a automatic then there should be a VSS coming off the TCU and cluster anyway.

as far as doing it with a arduino you would need to work out the address where the speed is on the network first and then work back from there.

most of the newer gearboxes have an inductive pickup and the output is usually a sine wave.

You should probably read the disclaimer on Arduinos regarding safety-critical systems, and think carefully.

chrrroger:
I see what you are trying to achieve. if this is a automatic then there should be a VSS coming off the TCU and cluster anyway.

as far as doing it with a arduino you would need to work out the address where the speed is on the network first and then work back from there.

most of the newer gearboxes have an inductive pickup and the output is usually a sine wave.

Is a manual gearbox... The problem is that the stock ECU still need the VSS signal to manage gauges, traction control, etc. So, that's why I thought to just use the OBD instead of intercepting it. I mean, your way would be the proper one, but I'll like first to sort out the output thing and then after I could do more a advance installation.

But in any case, supposing that I have variable storing an intenger value speed, for example 50 (kmh).

Do you know the formula (or piece of code :stuck_out_tongue: ) to converted to the SVV output?

MarkT:
You should probably read the disclaimer on Arduinos regarding safety-critical systems, and think carefully.

Thanks for your feedback.

In case of Arduino failure, only the launch control will not work :wink:

Everything else is still using the OEM ECU

Good Luck! Do you know the ECU has several modes of operation, Depending on the mode controls what is available on the bus. You can damage any and all devices on the bus with the wrong signal and or bad signals. I think the signal you are looking at is a VPWM (Variable Pulse Width Modulation), just a guess as it has been a few years. Realize if it is on the bus it has been conditioned, first, it is not a raw signal. Check these: AEC-Q100 defines the standard tests for active components such as switches and power amplifiers (PAs). In electronics VSS basically stands for Virtual Switching System. #Generally if we talk about Vss then Vss is the most negative supply terminal for an IC or a circuit using MOS devices. Vss may be either “0” or “Ground “. # Vdd is the positive supply voltage. Please define what VSS is, since this is an electronics forum I assumed it is a negative voltage.
From: https://www.qorvo.com/design-hub/blog/automotive-quality-standards-101-what-qualification-really-gets-you
Designing today’s cars is an enormously complex business. What makes them complex? Some cars have more computing power than jet aircraft, with as many as 100 programmable Electronic Control Units (ECUs) and up to 100 million lines of code helping to run everything from the engine and power train to infotainment, communications, and safety and driver-assistance systems. And the complexity is only increasing as car technology rapidly advances toward more sophisticated driver-assistance systems and self-driving cars.
Good Luck & Have Fun!
Gil

gilshultz:
Good Luck! Do you know the ECU has several modes of operation, Depending on the mode controls what is available on the bus. You can damage any and all devices on the bus with the wrong signal and or bad signals. I think the signal you are looking at is a VPWM (Variable Pulse Width Modulation), just a guess as it has been a few years. Realize if it is on the bus it has been conditioned, first, it is not a raw signal. Check these: AEC-Q100 defines the standard tests for active components such as switches and power amplifiers (PAs). In electronics VSS basically stands for Virtual Switching System. #Generally if we talk about Vss then Vss is the most negative supply terminal for an IC or a circuit using MOS devices. Vss may be either “0” or “Ground “. # Vdd is the positive supply voltage. Please define what VSS is, since this is an electronics forum I assumed it is a negative voltage.
From: https://www.qorvo.com/design-hub/blog/automotive-quality-standards-101-what-qualification-really-gets-you
Designing today’s cars is an enormously complex business. What makes them complex? Some cars have more computing power than jet aircraft, with as many as 100 programmable Electronic Control Units (ECUs) and up to 100 million lines of code helping to run everything from the engine and power train to infotainment, communications, and safety and driver-assistance systems. And the complexity is only increasing as car technology rapidly advances toward more sophisticated driver-assistance systems and self-driving cars.
Good Luck & Have Fun!
Gil

Thanks a lot for the super detailed explanation.

To be honest I'm already getting the speed (kmh) value via OBD2, so, that's not a problem.

But what I'm not sure right now is which formula to use to convert let's say 90kmh to digital or reluctor type signal with an Arduino...

Do you have any idea?