Transmission gear indicator - Switching & programming advice requested

I [somewhat] recently installed a short-ratio transmission in my vehicle and, after 11 years of ownership, I find myself often forgetting what gear I’m in. (I.e., going for an upshift when I’m already in 5th, not knowing if I’m in 3rd or 4th without looking/touching the shift knob position) In order to minimize distractions and keep my eyes on the road I decided to build a gear indicator.

There are a few indicators on the market, but they’re either too big/bulky, expensive, or are designed for sequential transmissions.

I’m using an Arduino Uno as a base. The indicator is an Adafruit 16-segment display. My issue lies in the switching device. My unimaginative idea is to utilize 4 lever-style micro switches, arranged in a square around the shift lever underneath the shift boot. This will allow the shift lever to depress 1-2 switches at a time, providing input to the Arduino, which will then determine which gear to display. The indicator will display “N” when the lever is in neutral and no switches are depressed.

It was suggested by a colleague that I use the engine speed and vehicle speed, and determine the ratio for each gear. Then this ratio can be used by the Arduino to determine the chosen gear. I suppose the reverse and neutral position switches in the transmission could then also be used as inputs, if necessary. Does the Arduino Uno have the ability to process the VSS & RPM inputs to determine a ratio? If so, what formula would I utilize for this?

If you can get the VSS and RPM data into the Arduino it can certainly calculate the ratio between them.

Could you mount the micro-switches so they would give a reliable indication and not get broken with exuberant gear shifts?

I think I would prefer some sort of non-contact optical detectors.

If the switches or detectors work the program would probably be simpler than one for getting and using RPM data.


Thank you for your suggestions. I have not yet mounted the microswitches, so I can't yet verify that they won't get damaged with any play in the bushings. I did order switches with extra-long levers, and the metal is flexible, but I won't know for sure until I tried. This is on my to-do list.

Optical detectors would be an interesting solution, though I haven't worked with them before. I'll have to look into that. I already wrote the sketch for using 4 switches, so I'm sure it would be relatively easy to integrate them into this project.

Would it be plausible to use a hall-effect sensor? I found inexpensive switches on Sparkfun that might work. While there's still clearance to be concerned about, they may be more flexible and definitely less archaic than my original plan.

If you find a nice way of coupling it a mini-joystick could either do the job, reading the 2 analog output.

Ciao, Ale.

You are really the only person who can asnwer "what is plausible" because you have the gear lever. My concern is that there is a lot of play or bounce in a gear lever mechanism.

I don't think there is any substitute for experiment.

I have never used hall-effect sensors and I have no idea what their range of activation is.

The mini-joystick is an interesting idea - or just a pair of potentiometers with a suitable linkage. They have the advantage that you could allow for a fair amount of slop so that no possible movement of the gear stick would move the pots to the end of their travel. All that would be needed is for them to give distinctly different readings at different positions.


Thank you for the suggestions. I'll experiment with the micro-switches, as well as the hall-effect sensors. The joystick idea is an interesting solution too, so I'll look into that. I'll update this thread with my findings.