This post is part of the QMK gamepad seriesPart 1 - The CasePart 2 - The WiringPart 3 - The FirmwarePart 4 - Review
The wring for the extra components is pretty straight forward, the button matrix is easy enough if you know what needs to get soldered.
The PCB of the joystick has 5 pinouts, 2 for ground and voltage, 2 for the potentiometer outputs and one for the push button (which shorts ground when pressed).
The only important part here is choosing the correct pins for the analog output, not all pins on Pro Micro/Elite Cs are analog ones.
|Xout||any analog pin|
|Yout||any analog pin|
I'm using F5 and F6 for the analog inputs.
Any LEDs supported by QMKWS2812 high density strip
For the underglow I'm using a high density WS2812 strip, high density because it has 100 diodes per meter.
The wiring is even easier than the joysticks.
I used D6 for the RGB data
The strip itself is mounted inside of the keyboard, with the RGBs facing outwards lighting the inside of the case.
This scatters the light evenly so no single LEDs are directly visible in the underglow.
just the one I had lying around and fit into the case0.91 OLED 128x32 SSD1306
The OLED has 4 pins, 2 for ground and voltage, and 2 for I2C.
One is for the clock (SCL/SCK), and another for data (SDA).
Pro Micros/Elite Cs only have 2 I2C pins, D1 (SDA) and D0 (SCL). So thats what we're going to use.
The QMK docs have a great in depth explanation on hand wiring a matrix.
But the TL;DR is:
- switches are in rows & columns
- a diode after every switch, before it connects its row
- all diodes need to face in the same direction
The only thing left to do is configuring QMK, now that we have everything wired up properly.