Reading a tach signal

chuff014:
I was planning to use a lookup table array with the optimal RPMs for each gear.

Wouldn't you then need a way to detect which gear you were in? You could measure both engine RPM and wheel (or driveshaft) RPM to determine the current gear.