PFM signal conversion

I am new to the Arduino, so just looking for direction. I need to use the RPM signal from my motorcycle as an output for an Engineering project, however that output needs to be a steady analog signal from 0-3 volts. I have built a few electrical circuits to do this but they are too laggy and unreliable so Id like to give it a shot with the Arduino. The RPM signal comes from the the pickup rotor, which varies based on RPM, and id like to do a little math in the Arduino to convert the frequency to an analog signal (IE if input is 0 Hz output is 0 volts and if the input is 300 Hz then output is 3 volts etc).

Is there anything that is already written to read frequency from the analog input that I could hack up? I couldn't find anything when I searched but maybe im not searching the right stuff.

Also, I'm not concerned with the amplitude in the least bit so just the frequency is the important part.

I found this for measuring frequency:

Which Arduino? The Uno does not have a DAC, so you'd use the pusle width modulator for output, probably map input frequency values to pulse widths, and smooth out the PWM output with some circuitry. Or you could use an external DAC.

PERFECT thank you. Its an UNO so I was planning to do that. Which Arduino has a DAC?

The due has two DACs, but there are DAC modules cheap enough that would work fine with the Uno.

I can get free ones from Analog Devices since i'm a student. That's what I was planning to do. The hard part is picking one out since there are so many different varieties.

If you need just a freq->voltage convertor a simple circuit may do it. You need a monostable circuit (ie a 555), set the impulse ie 3msecs and do integrate the pulses with an RC. You'll get ie. 0-5V from 0-300Hz input then.