Motorcycle speedo display broken

Hi new here and to electronics (although I suspect the date below my name will say otherwise, as it made me sign up when I bought my arduino).

So the speedo display on my off-road bike has stopped working and with bad weather closing in I need to get it back on the road asap (don't have a car licence and need to get to work). The part is long out of production and if I could track one down prohibitively expensive. So I thought I have an arduino uno and am currently hacking apart a old dishwasher PCB to get a 3 digit display (it has a : in the middle but I can ignore that) I can surely knock something up.

My intention is to use the existing input source, which seems to be a magnet mounted on the front sprocket and a hall meter in the housing. This presumably produces a sinusoidal analogue output where 2π is equal to one full rotation of the front sprocket. To get a distance (and thus be able to calculate speed) travelled per rotation is simply a matter of sprocket ratios, the circumference of the rear tyre and some maths; which I can do no problem. I assume and have a circuit diagram which I think backs up my assumption (I would post it but I am not sure on the rules about external links) that one of the wires which goes into the back of the current display should carry this signal. I assume this can be plugged straight into an analogue in on the arduino (the circuit diagram suggests it should be <5v).

So where I need help: Firstly can anyone point out any errors I may have made in my assumptions. Secondly I am a complete novice with no formal education (beyond A-level physics) in either electronics or programming. I assume the circuit will be as simple as providing power, plugging the existing input into an analogue in and connecting the display to suitable out pins (not entirely sure how to do the last bit but once I have the component free I think I should be able to manage with the help of a little research). However I have no idea where to start with the programming, it's about a year since I last programmed the arduino to do anything and that was simple input/output stuff to make LEDs flash.

Thanks in advance for any help.

You say that the signal from the Hall sensor is presumably sinusoidal. I will not question that, because I have no idea specifically how it works. But does the (presumed) sine wave amplitude remain the same at all speeds? If not, just reading analog voltages and trying to calculate speed could be quite misleading. Better put an oscilloscope on that sensor and figure it out before ramping up for his project.

A bicycle speedometer would presumably do the job quickly, and very cheaply?

But to answer your question, the rotating magnet will probably be there to provide one pulse per rotation of the wheel in the sensor, which will probably output a digital (square) pulse. So you will need to count 'n' the number of pulses per second, then convert that to speed. One pulse will signify a distance of PId where d is diameter of your wheel. So speed will be PId*n metres per second.

Thanks for the input. Yes I had considered a bicycle speedo but had decided against it due to looking at the way the readings were taken looks like a motorbike would shake it out of alignment idling let alone running along green lanes. Also where is the fun/challenge in just buying something, seems an excellent opportunity to learn.

I believed the signal be sinusoidal rather than pulsed, as it is a circular magnet rotating around it's centre. The part looks like this:

That is mounted on the sprocket/gear which equates to where the peddles would be on a push bike. Since that assumption I have seen this:
http://ttr250.com/Speedo_magnet_replacement_guide.htm
Which suggests it might well be pulsed. I don't own an oscilloscope but assume I should be able to get an idea of if it is pulsed or sinusoidal from a multimeter.

As to the amplitude, I don't know for sure until I have done some tests/more research. My understanding of hall meters was that they "measure" magnetic flux density, in which case the amplitude should be constant for the same magnet spinning. However I could well be completely wrong, as I said I am a novice at this.

Also having had a look round the forums and seen external links several times here is the stuff I found on the sender unit:
http://ttr250.com/Speedo_sender_repair_guide.htm

Thanks for the input, will get the multimeter out and hopefully that should give me an idea of what kind of signal I am getting.

cowmando:
I believed the signal be sinusoidal rather than pulsed, as it is a circular magnet rotating around it's centre

Based on the links you provided, it looks like it's not a rotating magnet, but a rotating disc with 4 magnets in it.
A hall sensor is used to pick up the magnetic fields.
N, S, N, S all pass in one revolotion. Depending on the type of sensor used, I think you will get 2 pulses for each revolution: High, low, high, low..

Rotate the wheel slowly one revolution and try to see what happens if you measure voltage between GND and the Yellow wire from the sensor (according to the other link).

My guess is you'd see 2 High (5V) pulses in that revolution. Looks like you can hook that up to an arduino interupt pretty easy.

cowmando:
Also having had a look round the forums and seen external links several times here is the stuff I found on the sender unit:
How to repair your own speedo se

That's a circuit schematic how to get a digital 5V signal from the hall sensor.

You can either use such a circuit and poll the signal with digitalRead(), or you can use hardware interrupts for counting flank changes of the signal.

Hall meter are linear devices for measuring magnetic flux, whereas Hall sensors for this type of application are used as simple threshold switches to detect the passing of a magnet.