Converting GPS speed to 0-5v square wave pulse


I am new to the arduino world

I want to build arduino based gps "speed sensor" to be connected with my CMD data logger in my boat.

I managed to get the speed from the GPS but can't figure out how to output 0-5v square wave pulse with 8000 ppm so the CMD will get the speed info from the GPS

I am kindly asking for help and example hot to translate the speed from the GPS to 0-5v square wave pulse

Any help will be appreciated

Thank you very much in advance

How is it modulated? Pulse width? We need more details.

Links to the devices would be help full,



there is the link to the product:

There is no info regarding the speed input /in fact, they did not listet it, it is listed as not in use/

This is that Dynojet told me with link to forum thread:

The CMD is looking for a 0-5v square wave pulse to the speed input. There was some discussion of adapting a GPS speedo to it here:

It is pulse width modulation

for each mile traveled it outputs 8000 pulses. For speed of 60 mph it will output 8000 pulses for a minute or 133.33 for second


60mph is just an example since it is 1 mile per minute but my boat / it is a jetski/ is doing 75 mph all day long :wink:

If the frequency is static i can do it with no much of a problem but the speed data from the GPS is 10hz and here I am not sure at all how to aproach it.

This type of GPS speedometer is usually pulse frequency modulation type, not PWM.

8000 pulses per mile traveled is 4.970982 pulses/meter.

Speed of N-Km/hr from VTG sentence is converted to N x 0.277778 meter/sec, or N x 1.380828 pulses/sec, or N x 0.1380828 pulses per 100millisecond.

With 10Hz GPS, you can update your pulse generating timer after receiving new VTG speed value every 100msec, the timer uses the new value to generate pulses for the next 100msec.