Quick Shifter Under $50! Kazeshifter Arduino Adjustable Quick Shifter

22,219

13

60

Introduction: Quick Shifter Under $50! Kazeshifter Arduino Adjustable Quick Shifter

About: I love making something about electronics, making something awesome and cool that I've never make before!

Hi Superbike or motorcycle lovers!

On this instructable, I'll share how to make your own Quick Shifter for cheap!

For people who lazy to read this instructable, just watch my video!

Note : For some bikes that already using Fuel Injection System, sometimes Check Engine indicator light up. You need a resistor to make sure the ECU / ECM not thinking your ignition coils was bad or broken.

Enough intro just go to the steps!

Last updated : Feb 4, 2021 (added multi-cylinder wiring diagram).

I don't make changelog coz am lazy, it's too much

Support me on Patreon !
https://www.patreon.com/kazemito

Subscribe to my Channel !
https://www.youtube.com/c/KazemitoHaruhi

Step 1: 1. What You Will Need? How About the Schematic?

READ THE SCHEMATIC FIRST, MAKE SURE YOU ARE NOT FOLLOWING WRONG SCHEMATIC.
OLD SCHEMATIC WAS REMOVED SOME PEOPLE HAVING TROUBLE WITH I2C LCD.

So here is the parts that you will need :

  • Schematic(READ THE SCHEMATIC MAYBE I FORGOT TO INCLUDE SOME PARTS)
  • Arduino Nano, or anything smaller than nano if you want
  • ON OFF Switch (for bypass switch)
  • Relay module
  • 100uF/25v and 1uF/16v Capacitor
  • 150 ohm Resistor and 1 LED for indicator
  • 330 ohm to 1K ohm resistor needed for EFI (injection) bikes to eliminate check engine error!
  • PCB (small is enough)
  • Small Multipurpose Box
  • 1N4007 Diode or any kind of
  • Rear Brake Switch with the spring or use Reed switch with magnet (easier to install and adjust)
  • Steel Bar for making the spring holder and brake switch
  • Pin Headers
  • small 1K ohm Variable Resistor (some people call it trimpot or trimmer)

for the brake switch, I'm using switch for Honda Grand because it's cheap

I don't use MOSFET because it cause problem last time, and I have no idea why. You can try it if you want and don't forget to change the code.

Step 2: 2. Code? Here Is..

I've made some revisions on this code, just check up my Github Gists page!

Here is the Code. No display version because a lot of people got problem with the LCD not displaying anything, and most of them don't know how to find the LCD Address, so stick with no display version.

Sorry for giving the code on other website :(

Step 3: 3. Solder All Components Into the Board!

Make sure you use small and tight fit all components inside the box, so you can get compact fit on your motorcycle and not use much space on it!

This pictures is early build of my project, so I hope you can ignore mess that I made and it uses MOSFET (before accident happened.) lol actually no accident just FET is blown.

To set the timing, you should edit the code that I've mention on the code, usually uses 60ms - 100ms, and it depends on your motorcycle! make sure you use higher first then slowly decrease it 5 by 5 (100, 95, 90, etc).

Step 4: 4. Sensor/Switch Mounting

(Update) First things! You need to lubricate the brake switch, so it won't stuck if it's get wet and dry many times and keeps it smooth. Any lubricating liquid will work fine.

For the spring holder, I used the steel bar and you can place the spring holder anywhere do you want, or just mount it on the bolt that near on the footrest.

but I'll mount it and use the spring holder under the footrest

and route the spring behind the pedal rod linkage. (am I right?)

anyway, for the placement of the switch, i mount it on the shift linkage rod and I fix it with Zip Ties after I set the sensitivity

ah, you need an LED (12v or whatsoever) to know where the sensitivity is, just connect the LED to the switch and begin setting the sensitivity.

you might need to reset the sensitivity when you test it on the road. don't too sensitive or it might ruin your day (but for what I made the bypass switch?)

when routing the cable, give it a small excess of the cable or whatever it called. don't tighten the cable or you won't be able to downshift

Step 5: 5. Connect Everything!

First thing is place the module under the seat and remove bolts from the tank, route the cables from the relay on the module under the tank, make sure isn't pinched by the tank and keep away from it. then find the ignition coil.

after you found the coil, unplug 1 cable from the coil, then connect 1 cable from the relay on the module to the coil. and connect other cable from coil that has been unplugged from the coil to the other cable from the relay on the module

Route positive (VCC) and clutch cables from the module under bike frame, make sure isn't pinched by seat.

For the positive input (VCC) I connect it to the blinker relay, because it goes directly to the ignition key and every motorcycle is different wiring so you should search the nearly power source from the ignition key

and clutch cable (from the module) I connect it to the Clutch Relay

Negative cable? just connect it directly to the battery or the bolt on the bike frame (Ground)

don't forget to connect the switch relay! or it might not work

Step 6: 6. Wiring for Multi-Cylinder Motorcyles (EFI ONLY, CDI EXPERIMENTAL)

This is wiring diagram for Multi-Cylinder EFI bikes, CDI may work and this is experimental. Testing the cables also same method.

  1. You need a multimeter or multi tester or 12v LED to test the ignition coil socket pins.

  2. Select 20V range or just leave to auto range if your multimeter had this feature

  3. unplug 1 socket from ignition coil

  4. put the negative probe to the chassis or straight to the negative terminal on the battery if your probe cable long enough

  5. turn the ignition key ON and disable engine kill switch (I mean engine enabled position on the switch beside the throttle)

  6. test each pin on the ignition coil socket with positive probe and make sure you got 12v - 13v range (not 0v) or the LED lights up which means you had common anode wiring on the coils.

  7. if you are not getting any voltage try to flick the engine kill switch to another direction, and if still not getting any voltage try the next step. otherwise skip to step 12

  8. Connect positive probe to positive terminal on the battery

  9. turn the ignition key ON and disable engine kill switch (I mean engine enabled position on the switch beside the throttle)

  10. test each pin on the ignition coil socket with a negative probe and make sure you got 12v - 13v range (not 0v) or the LED lights up which means you had common cathode wiring on the coils.

  11. If you are not getting any voltage try to flick the engine kill switch to another direction.

  12. cut all common cable from your ignition coils or the sockets (anode means positive and cathode negative)

  13. connect the common cable that you cut to the relay common pin (you just need 1 common cable from ignition coil / socket since it's common anode)

  14. connect the Normally Closed (NC) pin from relay to all those ignition coils / sockets common cablethat you cut

  15. you're done. You can test it and make sure you attach the resistor across the NC and Common pin for your EFI Bike

Step 7: Test It!

That's it for this project, I hope you like my creation and forgive my lack of information telling detailed information about mounting, circuit, schematic, etc. because I have no idea last time and don't know how to perfectly make a tutorial video. This project maybe started on September 2018 and that's why I new at video making and tutorial video

Come and support me !

Support me on Patreon !

https://www.patreon.com/kazemito

Subscribe to my Channel !

https://www.patreon.com/kazemito

Instructables

https://www.instructables.com/member/TresNaa/inst...

Microcontroller Contest

Participated in the
Microcontroller Contest

Be the First to Share

    Recommendations

    • Raspberry Pi Contest

      Raspberry Pi Contest
    • Photography Challenge

      Photography Challenge
    • Anything Goes Contest 2021

      Anything Goes Contest 2021

    60 Comments

    0
    JonathanM29
    JonathanM29

    3 months ago

    hola hice todo y resultó super, de igual forma cambie el código. pero la resistencia de 330ohm no funciono, la computadora de la motocicleta detecta un error después de la quinta marcha como un fallo de la bobina. todo funciona bien pero la computadora detecta como error y se enciende el testigo. que resistencia podria cambiar para que no se detecte como error en la computadora.
    saludos
    este es el codigo.

    unsigned long tiempoantes = millis ();
    intervalo largo sin firmar = 45;
    int estado = BAJO;
    configuración vacía () {
    pinMode (10, SALIDA);
    pinMode (6, SALIDA);
    pinMode (2, INPUT_PULLUP);
    }
    bucle vacío () {
    tiempodespues largo sin firmar = millis ();
    int boton = digitalRead (2);
    int led10 = digitalRead (5);
    if (boton == LOW && estado == LOW)
    {
    digitalWrite (10, HIGH);
    escritura digital (6, ALTA);
    tiempoantes = tiempodespues;
    estado = ALTO;
    }
    if (led10 == BAJO && boton == ALTO)
    {
    retraso (50);
    estado = BAJO;
    }
    if (tiempodespues - tiempoantes> = intervalo)
    {
    digitalWrite (10, LOW);
    digitalWrite (6, BAJO);
    tiempoantes = tiempodespues;

    IMG_20211009_170402.jpgIMG_20211006_234618.jpgIMG_20211010_151624.jpgIMG_20211011_205730.jpg
    0
    Lovi
    Lovi

    Question 3 months ago

    Hi, could you tell us the technical data of the relay? I am also curious to understand how works the schematics

    0
    NguyênĐ66
    NguyênĐ66

    Question 6 months ago

    Can you tell me more about the part on the fire coil?

    0
    narzyc
    narzyc

    6 months ago

    where did you connect the lcd? I don't understand where the cables you connected to it come from

    0
    ilhamranger73
    ilhamranger73

    11 months ago

    Hi, i've follow everything from the schematic, and the relay triggered as well. But my motorcycle wont up shift if i dont lower the gas. But, i've seen your videos and mention something about clutch, unfortunately you're not mention in the schematic.

    Please help

    0
    TresNaa
    TresNaa

    Reply 10 months ago

    clutch switch not necessary so I removed that, maybe you can try to increase cut-off time by changing the delay

    0
    abc_600
    abc_600

    1 year ago

    Hi, just wanna ask if this would work on 4cylinder?thinking about getting the wires from the side stand or kill switch than going thru the ignition wires..

    0
    TresNaa
    TresNaa

    Reply 1 year ago

    Hello,
    I already test on Yamaha R6 and R1, it works flawlessly with no problem.
    If you don't want to cut your wiring harness on you bike, maybe you can just cut from engine kill switch.

    0
    abc_600
    abc_600

    Reply 1 year ago

    or it would be okay for you to send me the schematic diagram you used on r6?thanks 😬

    0
    abc_600
    abc_600

    Reply 1 year ago

    another thing..do i need to cut also the line that controls the injectors to delay the feeding?or i'll just go with your diagram? and what do you mean by that positive of efi, is that the line i've been saying to delay the feeding?

    thank you so much for your time..just want to install this on my yamaha fz6 with an r6 engine.

    0
    danguy2009
    danguy2009

    Question 1 year ago

    Very interested in making this? What is the purpose of the clutch switch? is that just so that the ignition does not cut when you have the clutch pulled in and shift from 5, 4,3,2 1? Someone else mentioned that you have removed this function? how do u stop the bike stalling without it. for bikes without clutch switch you could install one of those cheap hydraulic clutches and use a hydraulic brake master switch and connect clutch switch to that.

    0
    Franc_Bisson
    Franc_Bisson

    Question 1 year ago

    Hi, is there any reason you are not including the clutch switch in your latest update? Thx.

    0
    TresNaa
    TresNaa

    Reply 1 year ago

    lot of people don't know where to wire it up, so I remove it to make it more clean setup

    0
    Tightwad
    Tightwad

    2 years ago

    Fairly new to Arduino and I am trying to understand why you have/need:
    Serial.begin(9600);
    Serial.println("initializing");

    For this project. I am reviewing the code to try and understand what each part does. Additionaly I am confused about:
    lcd.setCursor(16,0);
    lcd.print(char(4));
    lcd.setCursor(14,2);
    lcd.print(char(4));

    As both references for the setCursor location are outside the bounds of the 16x2 LCD (min would be 0,0 and max 15,1). I'd appreciate any feedback!

    0
    TresNaa
    TresNaa

    Reply 1 year ago

    it just for debug when I developing the code and making sure it's working properly. it's not necessary if you don't need that you can delete it

    0
    ДмитрийВ14
    ДмитрийВ14

    Question 1 year ago on Introduction

    Hi.

    What if to put resistor on NO terminals of relay to +12V? Maybe it will help to prevent CEL?

    How does ECU recognises misfire?

    0
    diesu
    diesu

    1 year ago

    Hello, excuse me, but you have two drawbacks for which your project does not work correctly, the first, no matter how much you cut the negative of the coil if you bridge it with the resistance of R2 330ohm, you still keep the coil electrified so it will give at least one more ignition, the coils are always electrified what the ecu does to give the ignition order is to cut the ground connection and that is when the spark occurs.

    The second thing I see wrong is that on a large-displacement motorcycle with a serial exhaust, it will explode or damage an exhaust valve, since the unburned gasoline that is being thrown into the exhaust will explode and has no space sufficient exhaust, with an open exhaust you do not have this problem.

    Have you not thought about making the cut in the injectors?

    Greetings Diego

    0
    TresNaa
    TresNaa

    Reply 1 year ago

    Hi Diego,
    For the ignition coil i have no problem with that, the resistor was needed to manipulate ECU / ECM so he will not detect broken ignition coil. I have made more than 30 modules and works fine.
    Also the ignition coil does not have enough current to ignite the spark plugs, even on "engine on" state voltage (14v - 14.5v). It will not ignite. I already test it in real life. You can test it, if still ignite I'll update the circuit.

    Second is, this schematic is for single or dual cylinder engine (most people had one or tho cylinder engine, and some people don't want to risk their engine if they don't know what they doing. and need to develop or improve it again for their spesific engine), if you use on multi cylinder isn't recommended like you said before it will explode.
    I have research a lot of QS module, mostly like Healtech QSE it doesn't connect to injectors, i have no idea and i know it's dangerous.
    And my thought is, even no ignition and unburned fuel, it will push out to exhaust on high rpm, and that's the reason why manufacturers don't make it work under 4000RPM (it can cause explosion and ratio gear or shift gear wear too fast because unsyncronize shifting) and when at high rpm it will spitting fire. It's just my thought if I wrong feel free to correct me.
    Injectors should be disabled on multi cylinder engine for safety reason. Maybe I'll give update.

    Thanks for suggest, I really like inputs from people like you who cares about project drawbacks and issues! these can improve my projects and thought for my upcoming project.

    Best regards,
    Kazemito



    0
    xx.subsonix.xx
    xx.subsonix.xx

    1 year ago

    I made a nice potted reed switch pair and just mounted it between engine case and shifter, trigger is magnets on the shift lever. Now I have nice up and down shifts 🙏🏼🏍

    0
    TresNaa
    TresNaa

    Reply 1 year ago

    Great! I hope you found some improvement over my project! Great job!
    I also just wondered using reed switch long time ago but I'm lazy to open up my motorcycle again to adding revisions to this project