Motorcycle throttle position & Arduino


I am thinking to acquire the potentiometer position of the motor throttle. Basically this sensor gives information to the ECU which uses it to manage injection. Hence I can not disconnect it from the ECU.
Is it possible to read potentiometer value from two devices (ECU and Arduino) with common ground and same high limit voltage (+5Vdc)?

Thank you in advance,

Yes! you can - but make sure the signal wire from ECU to Arduino AnalogPin as short as possible.

Which bike to you have? I've successfully grabbed lots of info, including throttle position from a BMW F800 R directly from the CAN Bus.

I'm saying that because you might be at risk by tapping directly into the throttle. Remember that you can't really measure without interfere, so need to take care doing that. If it's a simple potentiometer my guess is that it runs at 10V-12V, but also, you might find out it's another kind of sensor, maybe a hall-effect or other kind of encoder?

It is most likely a hall-effect device which outputs a similar signal to a 5V potentiometer. Adding one (carefully shielded) wire to that is unlikely to disturb the signal in any way. I would not expect 12V since the "12V" power on a vehicle is not regulated in a way that will make analog measurements possible.

But yes, the onboard data bus is best if you need more than one piece of data.


Yes, you’re right about the 12V… it needs to be something lower. Now, the interference I mean would be by using a “voltage divider” or other circuitry that would “leak” current to ground. Also, even without any direct leakage to ground a very little current still needs to flow into the Analog input, which will disturb the sinal… maybe only by a few micro-volts, but still some disturbance.

Which bike to you have? I’ve successfully grabbed lots of info, including throttle position from a BMW F800 R directly from the CAN Bus.

I have two ones but I would like begin with the scooter. It’s a XMAX 125 2013 manufactured by Yamaha. I saw there is a diagnostic plug but I thought that it was impossible to grab dynamic information (rpm, vehicle speed, throttle position,…) from this plug. But after some investigations I found this tool for Yamaha bikes:

I have also a KTM 1290 Superduke 214 with a diag plug. Before buying this one I had another KTM, a 690 SMCR. I had the cable to connect the ECU to the PC. I used the soft TuneEcu to change some parameters, to customize the injection map,… It’s a very useful software not only for KTM bike owners, it supports Benelli, Aprilia, Ducati,… bikes. But new KTM bikes are not supported any more. Grrrrr

For sure the best will be to grab the ECU’s info because not only throttle position are available but lot of data.
But read the BUS seems not so easy!

Is there someone familiar with that?

Thank you,

Try to discover what sort of bus it uses... There are a few like K Line, Lin and CAN.

For CAN bus, using a raspberry PI and a CAN module is very easy to see and decode the messages.

On the Diag port you can test the lines, CAN bus will have voltage around 2.5V to ground and uses 2 wires CAN H and CAN L. K Line and Lin uses 12V as far I know, but don't have much experience with those