Shifter & buttons for simulator - wireless/wired

by jkoljo, published

Shifter & buttons for simulator - wireless/wired by jkoljo Jul 18, 2016


Design Tools


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

14374Views 3603Downloads Found in Automotive


This is a paddle shifter system for 280 mm and larger diameter steering wheels with 70 mm bolt mounting pattern. This design can be built with only shifters or shifters + buttons, wired or wireless via BT.

The complete shifter consists of two shifter assemblies and a base plate. The shifter unit and paddle hinge should be 3D printed. Paddle and steering wheel mount plate can be printed, but I recommend laser cutting or CNC milling for maximum rigidity.

The shifter has a nice and well defined click. It is magnetically returned, and it uses a micro switch. It mounts to the back side of any steering wheel with standard 70 mm bolt pattern.

YouTube video showing paddle shifter operation: https://www.youtube.com/watch?v=Pz5LogKsN7o


  • Printed / laser / cnc-cut parts
  • 4x 8mm dia, 5mm tall neodymium magnet
  • 2x KW10 long r shaped lever micro switches (from ebay, 13 x 6 mm footprint)
  • 10 mm M3 mounting hardware for paddle, shifter base mount and end-of-travel stop
  • 28 mm M3 mounting hardware for shifter units
  • 3 mm rod for paddle hinge
  • Some hot glue, epoxy or CA-glue

Notes: The parts are not in optimal print orientation. Rotate them before printing. Some nut holes are closed with 0,2 mm thick extrude to improve print quality, use a small drill or a file to open them after printing. The shifter paddle in real world pictures is different from the one that is available for download.

Update 1: Added a shifter mount plate with buttons. It accepts buttons with 12 mm mounting hole diameter. I used buttons with 16 mm housing outer diameter.

Update 2: Added shifter mount plate /w buttons version 2. The buttons are arranged further away from wheel center. This version also comes as a variant, that has mounting holes for wireless hardware & two status indicator leds

Update 3: Added wireless instructions, wireless base station enclosure and F1 style paddles

Update 4: Added a stronger paddle hinge to fix the small flex in the paddle. Print hinge with high infill. PLA, PETT or PETG recommended.

Wireless connectivity


This button & shifter combo can be made wireless via Bluetooth. The system has about 15ms of measured lag, which is about 1 frame in a game. The base station appears as a game controller for a PC. Building the wireless system requires some electrical skills. The wireless side was developed by me and my friend Mika, code is available in GitHub, compile with Arduino + Teensyduino IDE.


Wheel setup

Refer to software project git for exact wiring. Each button should be wired to one I/O pin in Teensy and ground of Teensy. Wheel software can read battery voltage, but the max voltage for Teensy ADC is 3.3V, thus voltage division is necessary. 10k + 3.3k divider works ok with max 4.2v (3.7v nominal) LiPo. The GND, VCC, TX, RX and status pins of HC-05 should be connected to Teensy. The battery and status indicator LEDs should have current limiting resistors of about 80 ohms if using regular LEDs.

It is recommended to compile the wheel side with 24 MHz Teensy CPU speed to reduce current consumption and improve battery life. I am using 16 MHz no USB mode and it seems to work fine. With lower than stock Teensy clock speed, this setup works at least 5 hours with 500 mAh battery.


  • Teensy 3.2
  • HC-05 BT module
  • 3.7V LiPo, my lipo is 500mAh and ~ 48 x 20 x 8 mm
  • Two LEDs for battery and link status indication
  • Resistors for LEDs and battery voltage division

Base station setup

The base station is easy to wire up, the pre-configured HC-05 BT unit just has to be connected to Teensy, requiring power, TX, RX and status pin wires. The code in GitHub lists specific pins. USB HID is done via same USB port as programming.

Compile with Teensy configured as USB FlightSimControls + Joystick. 72 MHz core clock recommended, although it should not matter much as the software is lightweight.


  • Teensy 3.2
  • HC-05 BT module
  • 28 mm M3 bolts and nuts for enclosure
  • Some hot glue to mount electronics
  • LEDs and current limit resistors for power and connection indication (optional)

More from Automotive

view more

File Name



All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Looking to make the BlueTooth System work.. do you have any better wire diagrams? how to hook up the Teensy to the BT? Please

Hi, copied this from the github link :) Basically you only need gnd, power, rx, tx and bluetooth status connected to BT module. The pins are labeled at the BT module side. Pin numbers are teensy pins. I do not have a wiring diagram for it, but if someone feels like doing one, I will gladly add a link to the first page!


0 serial rx
1 serial tx
2 bluetooth status
3-12 button inputs
13 Teensy's own led
14-20 unused
21/A7 Battery_low_led
22 Connection_led
23 Battery voltage adc
24-33 unused

What resistors should i be looking for to follow your BOM?

This Looks good, But any way you can show a image of it all connected close up? i am very lost on the power connections. and is it the same for base and wheel?

Yes, the BT module connections are the same, but on the wheel side you have to deal with a battery. Usually you can just connect 1 cell battery directly to Teensy, but if your battery has a higher voltage, you need to regulate it first. The base side gets power from PC USB. I found this picture of connections, I hope it helps (check that the pins match your BT module! And remember TX goes to RX and RX to TX): https://sourpuss.net/projects/trains/computer/hc06_schem.png

so with that picture the BT is getting power form the Teensy. and this is ok on both the Base and Wheel?
Base uses USB connection and Wheel is Battery. What Resistors are needed?

I am not the best on Electronic selection. Fine at the building of hardware if i have a complete BOM.

Thanks for your help.

Yes it is. Resistors are necessary to limit the LED current, so when you connect a LED to teensy, you need to have a resistor in series with it. 100 ohm resistors would be ok for both LEDs. You also need voltage division resistors for battery voltage sensing. This is a bit more tricky. You can only feed Teensy a maximum of 1.2 volts, so full battery voltage may not exceed that after a voltage reduction circuit. For example R1 10kOhm and R2 3.3kOhm would work: http://www.ohmslawcalculator.com/voltage-divider-calculator -> the output + goes to teensy pin 23.

@jkoljo Awesome work!
Is it possible have iges files or STP files to adapt the gear shift to other microswtich?

I built one (well, the mechanical parts at least)!

Here are a few notes on the design:

The Omron switches are easily available in small quantities for Mouser and are an identical fit to for the switches originally sourced from eBay, so use those!


Misumi (https://us.misumi-ec.com) is your friend for the hardware! I used the following order:


I got my stuff printed at Shapeways... and that part had limited success. I didn't specify the orientation of the print, because they say the experts will figure that out for you, so maybe being more specific in that regard would help. But, this is what I found:

  1. This is the most important thing! The tolerances for the 28mm M3 screws should be increased. I could not get everything to line up and work well and had to spend a long time fiddling with my drill press... increased tolerances so the 28mm M3's just drop through would help tremendously!
  2. I think the switch stop plate should extend toward the shifter unit bottom, such that the screws cannot come out when sandwiching the parts together with the 28mm M3's. When I was winding the last screw through the base plate, I pushed the nut out! So now I get to disassemble the whole unit again. Turns out I have to, anyway, because...
  3. The paddle mount plate (at least, the one without any buttons, 3D printed in PLA) flexes like crazy with the strong magnets I selected. Also, the screw heads affixing the shifter units to the plate stick out and interfere with my wheel, which has a 40mm dish. I'm going to have to redesign the backing plate to work with my application. Perhaps I should have a machine shop laser cut one out of metal and recess holes for the screw heads?

An easy tip for assembly: use channel lock pliers to squeeze the nuts into their printed holes, as well as the magnets! I eventually learned the trick, but it took a while.


Do you have another source for the micro switches aside from eBay? I'm having difficulty understanding which are actually "2x KW10 long r shaped lever micro switches (from ebay, 13 x 6 mm footprint)"

If you had a link from digikey, mouser, etc. where I could see a spec sheet, I think it'd be easier to be sure I'm getting the right thing. (I suppose it'll also be easier once the 3D printed stuff shows up and I can measure what'll fit!)

I found this, they seem to be the manufacturer: http://daier.gmc.globalmarket.com/products/details/kw10-z3p-miniature-electrical-microswitch-9534477.html

But if you can find a suitable switch from more common electronics suppliers, please inform me so I can add it to the first post. I can also create a new revision if a new switch is close enough but not a direct drop in fit.

Thanks, that actually helps a TON. I'm going to try the KW10-Z4P which is currently available on eBay and appears to have a roller instead of the fake roller. Will report back.

The rollers don't work, way too tall. Even if you leave them recessed in the hole.

Ok! That should be interesting. If the roller design actuates too early, you can try to bend the arm or shim the top most part with a washer so it sits higher. Make sure that the switch is glued on flush with the switch holding piece so it is as low as possible.

Is it possible to have the same operation without bluetooth, but with USB connection.



Yep it is, you basically have to merge the two source codes for teensy and get rid of the bluetooth read/write stuff. Teensy USB joystick functionality is pretty simple so it is certainly doable.

thanks, I'll try

Great work!...
Do you use glue to stick the magnets on PLA?
What switch do you use ?
thank you!

Hi, the switches are in BOM, 2x KW10 long r shaped lever micro switches (from ebay, 13 x 6 mm footprint). I used CA glue, aka super glue to fix the magnets in place.

Awesome engineering.

This is very awesome! Thank you for sharing your design. Would you mind sharing the button mounts too?

Thanks for the feedback, I appreciate it. The paddle mount plate with integrated button holes is already available. It is still a work in progress, there will be more variants (layouts) in the future.

Great! Thanks again!!