

Triplejump
Leverless (box-style) fighting game controller with three jump options.
- Size
- 320 × 120 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 27
- Nets
- 23
- Pads
- 169
- Tracks, vias
- 74, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 1 Jul 2023
- Updated
- 13 Nov 2024
Overview
Triplejump is an open-source printed circuit board by cveldy, from the cveldy/triplejump repository on GitHub, published under the MIT licence. It is a 2-layer board of 320 × 120 mm with 27 parts on 23 nets, routed with 74 tracks and 0 vias.
It is built around the RP2040-ZERO. Its parts include 20 switches and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.
Main components
1README
README.mdtriplejump
Leverless (Hitbox-style) fighting game controller with three two jump options.
TODO: One or more images
About
This controller is distinguished by its split-hand configuration and angled keyclusters, mitigating the RSI-potential of the standard "hands-together-but-parallel" layout popularized by the Hitbox. The goal is to keep the entire device relatively small while still providing a meaningful ergonomic benefit.
Another notable aspect of the layout is the 10 button right hand cluster. The closeness of the keys in this keyboard-like format makes multi-key inputs (e.g., LP+LK) harder than usual to press. Promoting R3 and L3 into "first class" buttons mitigates this drawback by providing more locations for macros (the legal kind you can map in-game).
Lastly are the titular three two up buttons. This allows the same handed-preference for jumping (and ability to double-tap using both thumbs) from the normal layout.
Powering this device is OpenStick's excellent GP2040-CE gamepad firmware. Please see that repository for information about configuration, console compatibility, and all the rest.
Creation
If you want to produce one, you will need some parts.
PCB
- 1x triplejump PCB, created using the gerbers.zip files with an online PCB prototyping service. (e.g., JLCPCB.)
- 1x RP2040-Zero.
- 5x 6x6mm Panel PCB Momentary Tactile Mini Push Button Switch DIP 4pin.
- 15x Kailh Choc v1 Hotswap Sockets (PG1350).
Keys
- 15x Kailh Choc v1 Switches (recommended: linear switches with low actuation force).
- 13x Kailh Choc-compatible 1u Keycaps.
- 2x Kailh Choc-compatible 1.5u Keycaps.
Case
This case was designed with MBK profile Choc keycaps in mind and may or may not be compatible with other keycaps.
- Laser Cut Acrylic Layers: Bottom, Lower-Middle, [Upper-Middle](<./prod/case_layer2_4.5mm.dxf), Top
- The filenames include how thick each layer should be.
- The PCB goes between the two middle layers.
- 6x M3 x 12mm Bolts.
- 6x M3 x 6mm Barrel Nuts.
- OPTIONAL: Non-slip Feet or Pads.
Assembly
- Soldering Equipment.
- Screwdriver.
Firmware
- The Latest GP2040-CE Release, flashed accoridng to the documentation.
- Pin (Button) Mapping using GP2040-CE's Web Configurator
- There is a catch: the firmware assumes a default pin mapping that the triplejump does not use. Until you've remapped the pins, you must hold down L1 instead of S2 (Start) when plugging in the controller to enter the configurator.
- You could also short pin 1 to ground manually if you haven't installed the switches yet when setting up the firmware.
- The correct mapping for the triplejump is shown below.

Art
Optionally, you could print some art and put it between the top two acrylic layers. An Art Template is provided, though I haven't tested it personally.
Acknowledgments
- GrooveBob's Stress, which helped inspire this design.
- jfedor2's Flatbox, which helped inspire this design.
- Afternoon Labs' Breeze, which helped inspire this design and layout.
- ruiqimao's Keyboard PCB Guide, which led me through the entire PCB creation process.
- crides's Kleeb Kicad library, whose symbols and footprints are present in the PCB schematic and design.
- daprice's keyswitches.pretty Kicad library, whose footprints are present in the PCB design. CC BY 4.0
- Sadek Baroudi's Keyboard Case Design article, which showed the process for exporting the PCB into a form usable during case design.
- OpenStickCommunity's GP2040-CE, whose firmware makes the silicon useful and whose Discord community was extremely helpful.
Parts
27| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | SW_Push_45deg | keyswitches.pretty-master:Kailh_socket_PG1350 | SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 |
| 6 | MountingHole_3.2mm_M3 | MountingHole:MountingHole_3.2mm_M3 | M3, M3, M3, M3, M3, M3 |
| 5 | SW_Push_45deg | Button_Switch_THT:SW_PUSH_6mm | SW1, SW2, SW3, SW4, SW5 |
| 1 | rp2040-zero | mcu:rp2040-zero-tht | U1 |
Questions
How big is the Triplejump PCB?
It measures 320 × 120 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Triplejump use?
27 parts, built around the RP2040-ZERO. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Triplejump KiCad files?
From the cveldy/triplejump repository on GitHub, at the commit this page was made from: the board is src/kicad/triplejump.kicad_pcb and its schematic src/kicad/triplejump.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Triplejump design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers132.3 × 94.9 mm

- 2 layers321 × 92.3 mm

- 2 layers255.9 × 99.3 mm

Zerosprey42
beekeeb/zerosprey42
Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.
96 parts140 - 2 layers146.3 × 69.5 mm

- 2 layers54 × 64 mm

DonConIOmini
ravinrabbid/DonCon2040
RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers
96 parts66MIT - 2 layers52 × 50 mm

RP2040-TestPatternGenerator VGA
nmur/RP2040-TestPatternGenerator
A simple test pattern generator running on the RP2040 microcontroller
12 parts64GPL-3.0 - 2 layers120 × 40 mm

Buinchiez40
ChrisChrisLoLo/bunchiez40
A pocket keyboard that makes use of mouse switches to achieve a miniscule size
90 parts56GPL-3.0 - 2 layers305.2 × 76.2 mm
