The SDVX Controller lives inside a fully 3D-printed enclosure made up of eight distinct parts. The enclosure was modelled in KOMPAS-3D and covers everything from the structural base plate up through the top panel cutouts, side walls, keycaps, encoder knobs, and internal spacers. Every part is available as a ready-to-slice STL file, and the full parametric source (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/MrJefter/sdvx-controller/llms.txt
Use this file to discover all available pages before exploring further.
.a3d / .m3d) and neutral STEP exports are included so you can adapt the design in any CAD tool you prefer.
File Locations
The enclosure files are split across three directories in the repository:| Directory | Contents |
|---|---|
hardware/enclosure/source_cad/ | Native KOMPAS-3D source files (.a3d, .m3d) |
hardware/enclosure/export_step/ | STEP (.step) files for import into other CAD applications |
hardware/stl_for_printing/ | STL files ready for slicing and printing |
Parts Reference
The enclosure consists of eight printed parts. The table below lists each part, its file name inhardware/stl_for_printing/, and how many copies to print.
| Part | STL File | Print Qty | Description |
|---|---|---|---|
| Bottom | SDVX Controller - Bottom.stl | 1 | Base plate of the controller; sits on the desk and closes the underside of the assembly |
| Front (top panel) | SDVX Controller - Front.stl | 1 | Top-facing panel with precision cutouts for all seven button switches and both encoder shafts |
| Walls (middle) | SDVX Controller - Walls (middle).stl | 1 | Side walls that bridge the front panel and the bottom plate, forming the body of the controller |
| Keycap (ABCD and Start) | SDVX Controller - Keycap (ABCD and Start).stl | 5 | Keycap that fits over the MX switch stem for BT-A, BT-B, BT-C, BT-D, and START |
| Keycap (FX) | SDVX Controller - Keycap (FX).stl | 2 | Smaller keycap profile for the FX-L and FX-R buttons |
| Knob | SDVX Controller - Knob.stl | 2 | Encoder knob that presses onto the D-shaft of each LPD3806 — one for VOL-L, one for VOL-R |
| Spacer | SDVX Controller - Spacer.stl | As needed | Internal standoff / spacer; used to position the PCB or other internals at the correct height |
| Spacer 2 | SDVX Controller - Spacer 2.stl | As needed | Secondary spacer variant with a different geometry for a specific internal mounting point |
Main Buttons (×5)
Print five copies of the Keycap (ABCD and Start) — one each for BT-A, BT-B, BT-C, BT-D, and START. These share the same keycap profile.
FX Buttons (×2)
Print two copies of the Keycap (FX) — one for FX-L and one for FX-R. The FX keycap is slightly smaller than the main keycap to match the in-game button layout.
Encoder Knobs (×2)
Print two copies of the Knob — one per LPD3806 encoder. The knob is designed to press-fit onto the encoder’s D-shaped shaft.
Structural Shell (×1 each)
Print one each of Bottom, Front, and Walls (middle) to form the complete controller chassis.
Printing Recommendations
The following settings are a practical starting point for a standard FDM printer. Adjust based on your printer’s calibration and the filament brand you are using.| Setting | Recommended Value |
|---|---|
| Material | PLA or PETG |
| Layer height | 0.2 mm |
| Infill (structural — Bottom, Front, Walls) | 20–30% |
| Infill (keycaps and knobs) | 40%+ |
| Perimeters / wall loops | 4+ for keycaps and knobs; 3 for other parts |
| Supports | Check per-part; the Front panel cutouts may require minimal support depending on slicer orientation |
| Bed adhesion | Brim recommended for the Front panel and Walls |
PETG is a good choice if the controller will sit in a warm environment (e.g., next to a PC with poor airflow) because it has a higher heat-deflection temperature than PLA. For most indoor use, standard PLA prints perform well and are easier to tune.
Assembly Order
Print all parts
Slice and print all eight part files from
hardware/stl_for_printing/. Check each part for layer adhesion and verify that the encoder shaft holes in the Knob and the switch stem receptacles in the Keycaps are clean and unobstructed.Mount switches into the Front panel
Press each MX-compatible switch (Outemu Red or equivalent) into its cutout on the Front panel. The switches clip in with a standard 5-pin or 3-pin MX footprint depending on your switch choice.
Mount encoders into the Front panel
Thread the LPD3806 encoders through the encoder cutouts in the Front panel and secure with their included lock-nuts.
Attach the Walls
Align the Walls (middle) around the perimeter of the Front panel and fasten as designed. The walls form the side faces of the controller body.
Install the PCB and wiring
Place the assembled PCB inside the enclosure, using the Spacer and Spacer 2 parts to hold the board at the correct height. Run encoder and LED strip wiring to their respective connectors on the PCB.
Close with the Bottom plate
Fit the Bottom plate to close the enclosure. Fasten with M3 screws through the bottom into the walls or spacers.