This is the assembly manual of a fully functional H-Pattern shifter for PC.
All of the parts for my prototype were printed in PLA with layer height of 0.2mm. All the parts were printed without supports with the one exception - Vertical_Movement_Stopper.
The reason for printing in PLA was simple, that was the only material I had at the moment, PETG or any other material would be as good, probably even better.
There is an interactive guide of the assembly process here.
Raspberry Pi Pico is used as the “brain” of this shifter for a simple reason - it is cheap, can be recognised by PC as USB HID and is locally available.
Currently in this version there is no place to mount Raspberry Pi Pico.
Raspberry Pi Pico pinout (Pico-R3-A4-Pinout.pdf (raspberrypi.com))
For purpose of the shifter pins 4-12 have been used as they were all the pins needed in one place. One GND and 8 GPIOs for 7 gears and reverse.
As we need to connect microswitches to Pico there is a little bit of soldering. One of the terminals, in this case NO, has to be connected to GND (ground) on the Raspberry Pi Pico. The other terminal of the microswitches, in this case C/COM, has to be connected to the GPIO (general-purpose input/output) on Raspberry Pi Pico (GPIO2-GPIO9 in my case). The GND can be interconnected between microswitches but every microswitch needs a wire for GPIO.
WARNING: Soldering can be dangerous if safe operating procedures are not followed.
First you have to flash CircuitPython on Raspberry Pi Pico (Installing CircuitPython).
After flashing CircuitPython onto the Raspberry Pi Pico extract RPiPico_Code.zip and place all the files on the Raspberry Pi Pico.
Files on Raspberry Pi Pico after flashing and copying files onto it
In the case of not using same GPIOs (GP2-GP9) there are some changes that have to be done in code.py.
firstGear = DigitalInOut(board.GP2)
firstGear.switch_to_input(pull = Pull.UP)
In code.py every gear is defined something like this and board.GP2 is defining which GPIO is used for a gear. Depending where you solder the wire from microswitch you have to change board.GP{number of GPIO}.
Go to Control Panel → Devices and Printers → Right click Pico → Game controller settings → CircuitPython HID Properties
Here you can check if every gear works by shifting into gear and see if some of the buttons light up.
Sample of shifting into 1st gear
If you made it this far you will have a fully functional H-Pattern shifter for gaming.
Happy gaming!
The author marked this model as their own original creation.