Project: Simple Gear Indicator

avemachina

XSasperated but XScited!
Messages
86
Reaction score
56
Points
18
Location
Texas Panhandle
I made reference to this in the What Did You Do To Your XS Today thread, but I figured I'd make my own.

Deeply inspired by Tggraff's build but lacking the tooling, I decided to try it my way.

Step 1: Buy a cheap universal gear indicator and a spare Neutral Position Sensor.

spare.jpg


Step 2. Label all the wires on the indicator.
labels.jpg


Making the template:
Step 3. Take a bunch of measurements.
measure.jpg


Step 4: Drill a 7/8 hole through the center of the spare NPS, put some packing tape across the outside-facing side, and pour clear resin in to create a sightglass.

Step 5: Get devoured by mosquitos, and map out where the neutral pip goes as you cycle through the gears through the sightglass. This process was just "turn bike on, put it in x gear, turn bike off, remove side cover, mark NPS", seven times.

marked.jpg


Step 6: Remove the spare sensor, give it a quick wash with some dish soap, let dry.

Step 7: Scan it and clean up the marks in Illustrator.

Step 8: Make sure the digital template still makes sense.

template.jpg


Step 9: Give the good people of this forum the template you made, because all that work can't live on one hard drive forever. See the attached "NPS_layout.pdf", which is scaled for 8.5x11" letter paper. Also useful if you just want to measure angles or whatever.

Still to do:
- Buy brass fasteners (#6-32)
- Drill out the "production" NPS and tap it for the fasteners.
- Terminate the gear indicator wires with those little loop-type ends, so they can be screwed on.
- Solder some in-between wire (probably some cat5 cable, since I have oodles of it and it's 8 wires per cable)
- Testing, testing, and more testing.

Design theory:
- The mixed imperial/metric measurements are just a consequence of convenience--it's way harder to find metric hardware in the US, so I'm compromising at #6 screws. The template has a 6mm hole marked as such as a sanity check, to confirm scaling is correct.
- The centers of the fasteners are marked on the template, which is where the drilling will happen regardless of final diameter.
- Cat5 is rated up to +48v for PoE and about 2.5A max, which I really doubt this little LED will pull.
- Brass screws instead of stock or some other smooth connection point (the inside, which touches the pip, will probably be shaped to a round, smooth terminus) acts as a more secure modular, mechanical connection for the wiring. The screws themselves are a little oversize compared to the contact area of the original NPS (about 3mm; #6 is about 3.2mm) as a safety factor. The maximum fastener size that will still fit within the inner lip is 5/16", but that's a margin of error I'm not comfortable with, so I'm sizing down.

Here's the preview of the template itself, unscaled. Don't print this out. This is just for the folks among us that have cybersecurity drilled into our brains.
1726761134588.png
 

Attachments

  • NPS_layout.pdf
    381.3 KB · Views: 29
Some fabrication! One of the things I've changed is that I'm going to use thermostat wire instead of Cat5--18 gauge, and 7 strands, how convenient. Let's drill the sensor:
1.jpg


2.jpg


And tap the holes...
21.jpg

The screws needed to be chopped a little so they didn't touch each other. The original neutral nubbin had been drilled out as much as possible, with some little O-rings creating some distance. This didn't actually work and I was still getting a short between 1 and N--I'm going to abandon having either of those visible through the gauge, showing only 2-6.

24.jpg


23.jpg


Testing the display. Looks good. (Side note, this is the same battery I use in the bike, a "factory second" lithium battery for a Harley. This exact battery requires no mods and is a drop-in for my XS (well, the battery tray is a little too wide for it, so if you want to try a LiFePO battery in yours, this is like a $50 improvement)

5.jpg


Terminate the connectors of the thermostat wire. Crimp the loops and solder...
3.jpg


And nice it up with some heatshrink.

4.jpg


I did try it on the bike, and I'm still having issues with the depth of the screws. Still playing with that. But I do have 2-3 displaying properly, so yay me!

I didn't have my phone on me in the garage yesterday, but that's when I stuck the display to the top of the existing light panel, and ran the cabling from there to the sensor.
 
Last edited:
Oh, I've discovered something new--JBWeld High-Heat. I was nervous that the epoxies and resins I was using all seemed to have a maximum operating temperature of like... 250F? and that seems a little too close to engine temp for me to be comfortable. This stuff is rated to 550, so I'm pretty pumped!

I'm scrapping the current spare sensor and starting over after some experimentation. I have to abandon the "modularity" aspect somewhat, because one of the struggles I'm having is the length of the fasteners not quite matching where they need to be to contact the pip. The reference point on the sensor is Neutral, which is elevated to the same level as the center:
1727184340488.png


So what I need to do now is (sigh) go get some more #6-32 fasteners (maybe set screws instead this time), and get them back to this point in the process:

22.jpg


Then, fill the void with hi-heat epoxy. Once they're embedded in, sand/mill down the pokey parts so everything is flush with the existing neutral spot/center. That should make everything line up with the transmission pip.
--
On the outside face of the sensor, I'm likely going to have to solder the wires onto the fasteners instead of using the loops, then epoxying them down. Again, abandoning the modularity somewhat, but at least the wiring is removable from the bike with a connector.

--

So, change summary:
- Screws will be embedded into the sensor, rather than removable.
- Wires will be stuck to the surface of the sensor and part of the assembly.
 
Thank you! Really, what I'm aiming for is an adaptation of this idea:

1727229983408.png


But with a bunch of bootleg tooling, for a 43-year-old motorcycle 🤣

It's a fun project! I know I won't actually need it after riding a little longer, but it's still a cool little thing to make.
 
It is a cool project. I remember my 1984 Suzuki GS550 had a factory one that was helpful. On my 78 XS, the only thing I find myself doing as far as gear positions go is occasionally trying to shift into 7th gear. :laugh2: mostly because I ride it pretty easy and I try for maximum fuel economy whenever possible and tend to upshift around 4k.
 
Pronounced gooey at the scene 😈

IMG_5787.jpg


It's a 24-hour cure time, so I filled this out last night. I did overfill a bit, because it's way easier to remove excess than have to do multiple takes. I elected to do the infill before the drilling because it's easier to push the epoxy around without screws in the way, and with the cured epoxy in place, the screws will have a little more thread to bite into before getting trimmed.
 
Last edited:
I'm learning the limitations of the epoxy. What surprised me is that despite the glossy finish, it behaves more like a ceramic than a plastic, with a brittle rather than elastic failure response (acts more like Bondo than hot glue).

1.jpg


Here's me Dremeling it down. This attachment works really well (it's just some kind of grinding bit with a slightly cupped bottom, but the size and grit is right).

2.jpg


Cleans up nicely! However, I made two mistakes--I didn't drill big enough pilot holes, and didn't sand the bottom of the recess well enough. When I attempted to tap the screw holes, the epoxy sort of fell out rather than taking the tap.

The tapped threads in the plastic part were still good, so I drove my (headless, 1/2") screws in anyway, then filled in the epoxy again. Since it sands down so well, I'll just sand away the excess fill and any un-flush brass in the same work session once the new epoxy cures this evening.

Hopefully, the epoxy will act as a bit of a heatsink/fastener in case the brass gets hot enough to melt the plastic while the scerws are being ground.

And for the curious, the way I filled it in was by dipping toothpicks in the epoxy and dabbing little globs in, which is why the fill looks so sloppy 😆
 
Holy crap! This is pretty groovy.

Personally I will stick with my method of counting/looking at the tach and speedo to keep track of the gear, but this is some cool info to have on here! Cudos.

I want to learn how to do that! I'm new to manual transmissions in general and I really just wanted to know if I'm in 2nd, 1st, or N at a stop :p

I think once I'm finished, I'll post this in a format that's more DIY with less experimentation and more how-to. One of the other things I considered is maybe making an Arduino-driven variant of this, with a nice round OLED display, and potentially other functions, but that's down the road. I already wired in a USB port because my speedo was broken and I had to use a little GPS one until I fixed it.

I mean, the entire thing is functionally identical to checking if a button is pressed (if a circuit is closed) and outputting the result to a screen, so it's not the hardest thing in the world. Maybe expand it to a more sophisticated instrumentation panel with other functions like a voltmeter or whatever. Since everything is so electromechanical on these bikes, the concepts are pretty easy to transfer to simple switch logic--it's a cool avenue to explore.
 
I want to learn how to do that!
I will let you in on the "secret handshake" of how you learn this. You really need to know two things:

First is to determine a reference point - on this bike it is fifth gear. In fifth with stock sprockets, engine rpm correlates with speed in a simple way. If the engine is turning 5000 rpm, you are running down the road at close to 50 mph. If you are turning 3500 rpm in fifth gear, you are doing about 35 mph and so on. For those measuring in kph, you will have to find a similar, easy to remember reference gear.

The second thing to know is that if you keep your speed constant, up shifts and down shifts change engine rpm by about 500 rpm. So if you are in fourth gear at 6000 rpm and up shift to fifth, the tach will read 5500 rpm. If you down shift from fourth to third, the tach will read 6500. This, in general works for every gear.

So, putting it all together: you are doing 55 mph at 6500 rpm - if you were in fifth gear, rpm would be 5500, but you are +1000 more, so you must be two gears down, or in third gear. Like everything it takes some practice, but after awhile you don't need to think about it. After more time you can tell rpm by sound and don't need to look at the tach,

I only use this for 3-6 as first and second are pretty easy to keep track of on up shifts and on down shifting my bike makes a slight clunk when I downshift into second and an every more noticeable clunk when I down shift into first. If I can't hear those "clunks," I can feel them through my boot. Or, I can always keep pressing down on the lever until it goes soft and i know I am in first.
 
^ This is awesome, thank you for explaining! I'll have to practice to get the hang of it, but it does make sense!

--

I finished up this build over the weekend, and happy to say it works!

First, I finished grinding the epoxied screws flush:
1.jpg


Flip it upside-down, and it's time to solder!
2.jpg


3.jpg


The connectors did get a bit hot, so I double checked with a multimeter to make sure there weren't any bridges or other mishaps in the circuit. Good to go. Now, making sure the wires don't wiggle around, with clear epoxy:
4.jpg


Install on the bike. I did this with the key in, in neutral gear, so I can confirm it's making good contact. Once that's good, tuck the wires away in the same little path that the other wires run down to ensure they don't mess with the chain. Since I don't have the 1st gear indicator usable, I kept the original wire, but just stuck it to N instead, so the gauge will also show neutral.

5.jpg


6.jpg


You may notice the gauge looks a little less cheap--I found this weird little 3-in-1 thermometer, compass, clock thing for cars hanging out in my "random car junk" box (one of these) :

1727703571269.png



and the compass part fit the 7-segment LED display perfectly, so I just gave it a trim with a hacksaw and put the LCD in a nicer housing.


Now let's see if it'll show me some gears....


7.jpg


NICE!

It does show all the gears, N-2-3-4-5-6, and it being off will be a pretty good indicator of 1. Although 1 is pretty easy to tell.

Well there you have it folks, a gear indicator! Now I just have to mount it somewhere cool. Right now it's just zip-tied to my handlebars.
 
Last edited:
Well, I did say I was going to make an Arduino-based version of this, and I did. I used an Arduino Nano and a generic 0.96 128x64 SSD1306 OLED display.

Since tooling limitations prevented me from adding a sensor pip for 1st, I got around this programmatically by saying if nothing else has a ground connection, it's in 1st.

It needs an enclosure, but it works! I attached the Arduino sketch as a txt file because the .ino extension doesn't seem to be something I can add. It uses the Adafruit GFX and Adafruit SSD1306 libraries.

The total cost of this hardware is like... $15? so if you've followed along so far, this is just another fun way to interact with these bikes!

The camera didn't quite capture the OLED properly, but rest assured, the characters do all render correctly.

Pins used:
A0 - neutral wire
A1 - 2nd gear wire
A2 - 3rd gear wire
A3 - 4th gear wire
A4 - OLED SDA
A5 - OLED SCL
5V - OLED VCC
D10 - 5th gear wire
D11 - 6th gear wire
GND - OLED ground, and ground used for testing
 

Attachments

  • Indicator_nano.txt
    2.4 KB · Views: 26
  • IMG_5803.jpg
    IMG_5803.jpg
    185.8 KB · Views: 17
  • IMG_5804.jpg
    IMG_5804.jpg
    180 KB · Views: 18
  • IMG_5805.jpg
    IMG_5805.jpg
    180.6 KB · Views: 15
Last edited:
Well, I did say I was going to make an Arduino-based version of this, and I did. I used an Arduino Nano and a generic 0.96 128x64 SSD1306 OLED display.

Since tooling limitations prevented me from adding a sensor pip for 1st, I got around this programmatically by saying if nothing else has a ground connection, it's in 1st.

It needs an enclosure, but it works! I attached the Arduino sketch as a txt file because the .ino extension doesn't seem to be something I can add. It uses the Adafruit GFX and Adafruit SSD1306 libraries.

The total cost of this hardware is like... $15? so if you've followed along so far, this is just another fun way to interact with these bikes!

The camera didn't quite capture the OLED properly, but rest assured, the characters do all render correctly.

Pins used:
A0 - neutral wire
A1 - 2nd gear wire
A2 - 3rd gear wire
A3 - 4th gear wire
A4 - OLED SDA
A5 - OLED SCL
5V - OLED VCC
D10 - 5th gear wire
D11 - 6th gear wire
GND - OLED ground, and ground used for testing
Im a Computer Science student my self and cant belive I didn't think of this myself! great use of a small microcontroller. If you don't mind me asking, what was your method of figuring out what gear your in?
 
Back
Top